如何在IntelliJ IDEA中进行Grails 3集成测试

时间:2016-02-17 22:38:43

标签: grails intellij-idea integration-testing grails-3.0

我无法在IntelliJ IDEA中运行集成测试。这是由 grails create-integration-test

生成的测试模板
@Integration
@Rollback
class TestServiceIntSpec extends Specification{
 void "test something"() {
   //some code here
 }
}

以下是我尝试从junit配置运行它时的输出:

Process finished with exit code 0
Empty test suite.

如果我从IDE运行此测试,看起来像grails使用开发环境,我必须通过-Dgrails.env = test

明确指定env

2 个答案:

答案 0 :(得分:1)

Spock测试('规范')通过when:then:expect:等的存在来确定哪些方法是测试。

答案 1 :(得分:1)

HypeMK的回答是正确的。详细说明,以下测试可能无法运行,因为它没有spock关键字的存在,这些关键字概述了测试的规范性质(期望,何时,等等):

@TestFor(BeanFormTagLib)
class BeanFormTagLibSpec extends Specification {
    def setup() {}

    void "address setup"() {
        assertOutputEquals ('Hello World', '<g:beanFormTagLib domainName="com.myapp.Address" />');
    }
}

我们在这里通过添加&#34; expect&#34;来纠正这个问题。关键字:

@TestFor(BeanFormTagLib)
class BeanFormTagLibSpec extends Specification {
    def setup() {}
    void "address setup"() {
        expect:
        assertOutputEquals ('Hello World', '<g:beanFormTagLib domainName="com.myapp.Address" />');
    }
}