如何在 IntelliJ IDEA 中进行 Grails 3 集成测试
How to Grails 3 integration test in IntelliJ IDEA
我无法 运行 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[=12= 明确指定环境]
Spock 测试 ('Specification') 通过 when:
、then:
或 expect:
等
的存在来识别哪些方法是测试
HypeMK 的回答是正确的。详细来说,以下测试可能不会 运行 因为它不存在概述测试规范性质的 spock 关键字(期望、何时、然后等):
@TestFor(BeanFormTagLib)
class BeanFormTagLibSpec extends Specification {
def setup() {}
void "address setup"() {
assertOutputEquals ('Hello World', '<g:beanFormTagLib domainName="com.myapp.Address" />');
}
}
这里我们通过添加 "expect" 关键字来纠正问题:
@TestFor(BeanFormTagLib)
class BeanFormTagLibSpec extends Specification {
def setup() {}
void "address setup"() {
expect:
assertOutputEquals ('Hello World', '<g:beanFormTagLib domainName="com.myapp.Address" />');
}
}
我无法 运行 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[=12= 明确指定环境]
Spock 测试 ('Specification') 通过 when:
、then:
或 expect:
等
HypeMK 的回答是正确的。详细来说,以下测试可能不会 运行 因为它不存在概述测试规范性质的 spock 关键字(期望、何时、然后等):
@TestFor(BeanFormTagLib)
class BeanFormTagLibSpec extends Specification {
def setup() {}
void "address setup"() {
assertOutputEquals ('Hello World', '<g:beanFormTagLib domainName="com.myapp.Address" />');
}
}
这里我们通过添加 "expect" 关键字来纠正问题:
@TestFor(BeanFormTagLib)
class BeanFormTagLibSpec extends Specification {
def setup() {}
void "address setup"() {
expect:
assertOutputEquals ('Hello World', '<g:beanFormTagLib domainName="com.myapp.Address" />');
}
}