我无法在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答案 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" />');
}
}