# test-app

## Purpose

Runs all Grails unit and integration tests and outputs reports. The command will return appropriate response codes for embedding with continuous integration servers.

## Examples

    grails test-app
    grails test-app Foo
    grails test-app Foo Bar

## Description

Usage:

    grails [environment]* test-app [names]*

Fired Events:

- `StatusFinal` - When the test cycle completes

Executes the Grails unit and integration tests located in the `test/unit` and `test/integration` directories. By default all tests are executed, but you can specify the names of the tests (without the "Tests" or other test type suffix) as argument to the command:

    grails test-app Foo
    grails test-app Foo Bar

The first example will execute a test called `FooTests.groovy` whilst the second will execute `FooTests.groovy` and `BarTests.groovy` if they exist.

> As of Grails 1.2.2, tests can also use the suffix of `Test` instead of `Tests`.

You can also choose to only run the unit or integration tests:

    grails test-app unit:
    grails test-app integration:

If you only wish to re-run failed tests use the -rerun flag

    grails test-app -rerun

See the Testing section for examples on how to combine the different options to target tests.