1
votes

I'm new to using Eclipse for Grails (using STS) and I'm trying to figure out an easy way to run the unit tests. I've seen that I can do it by right clicking Run As > Grails Command (test-app). This works but is slow and the test output goes to the test report html page and has no apparent clickable stack traces.

I can also do Run As > JUnit Test, which appears to be much faster and gives me the traditional JUnit console available in non-Grails tests. When running unit tests, is there a difference in the two? Is the grails command setting up other things or doing anything else?

1

1 Answers

2
votes

You are performing a full blown test with all bells and whistles on. :)

According to the docs:

test-app: Runs all Grails unit and integration tests and generates reports.

Setting up the container for the integration tests is what makes it more 'expensive'.

You can limit the test cases that are being run by using 'unit:' as a parameter to indicate that only unit tests need to be run. (When not using JUnit directly from eclipse)

In your case you could do:

test-app unit:

or for a specific FooBarTests.groovy file:

test-app unit: FooBar

optionally you can add -echoOut or -echoErr to get more verbose output.

Check out the docs for more info and different phases of testing.