您的设置可能有问题:
-
您的命令顺序不正确。对我有用的是:
grails test-app -unit Foo(我的测试类是FooTests.groovy)
-
您没有明确导入grails.test.GrailsUnitTestCase。
当我没有导入它时,我在识别我的测试时遇到了一些问题。当我扩展GroovyTestCase 时,似乎一切正常。
工作示例
这是一组适合我的测试样本。也许您可以发现它们与您的测试之间的一些差异?
注意:这些都是在安装了testing 插件的情况下运行的
test/unit/FooTests.groovy
import grails.test.GrailsUnitTestCase
class FooTest extends GrailsUnitTestCase {
void testFoo() {
assert true
}
void testBar() {
assert true
}
}
test/unit/BarTests.groovy
import grails.test.GrailsUnitTestCase
class BarTest extends GrailsUnitTestCase {
void testFoo() {
assert true
}
void testBar() {
assert true
}
}
test/unit/my/pkg/BazTests.groovy
package my.pkg
import grails.test.GrailsUnitTestCase
class BazTest extends GrailsUnitTestCase {
void testFoo() {
assert true
}
void testBar() {
assert true
}
}
命令:所有单元测试
$ grails test-app -unit
...
Starting unit test phase ...
-------------------------------------------------------
Running 6 unit tests...
Running test my.pkg.BazTest...PASSED
Running test FooTest...PASSED
Running test BarTest...PASSED
Tests Completed in 847ms ...
-------------------------------------------------------
Tests passed: 6
Tests failed: 0
-------------------------------------------------------
...
Tests PASSED - view reports in target/test-reports
命令:Foo 单元测试
$ grails test-app -unit Foo
...
Starting unit test phase ...
-------------------------------------------------------
Running 1 unit test...
Running test FooTest...PASSED
Tests Completed in 815ms ...
-------------------------------------------------------
Tests passed: 2
Tests failed: 0
-------------------------------------------------------
...
Tests PASSED - view reports in target/test-reports
命令:my.pkg.Baz 单元测试
$ grails test-app -unit my.pkg.Baz
...
Starting unit test phase ...
-------------------------------------------------------
Running 2 unit tests...
Running test my.pkg.BazTest...PASSED
Tests Completed in 842ms ...
-------------------------------------------------------
Tests passed: 2
Tests failed: 0
-------------------------------------------------------
...
Tests PASSED - view reports in target/test-reports
我在 Grails 1.2.3 和 Grails 1.3.4 中尝试过这些,它们的行为都一样。