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

时间:2013-09-15 00:06:42

标签: grails groovy grails-2.0

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

首先,制作一个新应用并创建一个控制器:

$ grails create-app firstApp
$ cd firstApp/
$ grails create-controller foo

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

| Created file grails-app/controllers/firstapp/FooController.groovy
| Created file grails-app/views/foo
| Created file test/unit/firstapp/FooControllerSpec.groovy

然后,我通过在自动生成的方法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
    }
}

然后我运行了以下命令:

$ grails test-app

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

| Completed 0 unit test, 0 failed in 0m 0s
| Tests PASSED - view reports in /Users/jianbao.tao/projects/grails/firstApp/target/test-reports

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

1 个答案:

答案 0 :(得分:8)

Grails 2.3.0默认附带spock测试框架。因此,测试应该如下:

void "test something"() {
    expect:
      1 == 2
}

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