grails 2.3:test-app无法识别的测试

JBT*_*JBT 3 grails groovy grails-2.0

我正在玩最近发布的grails 2.3.0.不幸的是,test-app无法识别测试.以下是我为解决问题所做的工作.

首先,创建一个新的应用程序并创建一个控制器:

$ grails create-app firstApp
$ cd firstApp/
$ grails create-controller foo
Run Code Online (Sandbox Code Playgroud)

我从创建控制器foo获得了以下文件:

| Created file grails-app/controllers/firstapp/FooController.groovy
| Created file grails-app/views/foo
| Created file test/unit/firstapp/FooControllerSpec.groovy
Run Code Online (Sandbox Code Playgroud)

然后,我FooControllerSpec.groovy通过添加assert 1 == 2自动生成的方法编辑了该文件void "test something"().以下是FooControllerSpec.groovy我编辑后的完整内容:

package firstapp

import grails.test.mixin.TestFor
import spock.lang.Specification

/**
 * See the API for {@link grails.test.mixin.web.ControllerUnitTestMixin} for usage instructions
 */
@TestFor(FooController)
class FooControllerSpec extends Specification {

    def setup() {
    }

    def cleanup() {
    }

    void "test something"() {
        assert 1 == 2
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我运行以下命令:

$ grails test-app
Run Code Online (Sandbox Code Playgroud)

但是,没有进行任何测试.以下是该命令的输出:

| Completed 0 unit test, 0 failed in 0m 0s
| Tests PASSED - view reports in /Users/jianbao.tao/projects/grails/firstApp/target/test-reports
Run Code Online (Sandbox Code Playgroud)

我的平台是OS X 10.8.5 + grails 2.3.0 + Java 1.6.0_51 + groovy 2.1.6.谁能告诉我这里发生了什么事,拜托?先感谢您.

dma*_*tro 8

Grails 2.3.0默认附带spock测试框架.所以,测试看起来应该是这样的:

void "test something"() {
    expect:
      1 == 2
}
Run Code Online (Sandbox Code Playgroud)

有关spockframework的详细信息,请访问docs.