我希望在从Intellij IDEA运行时,使用Spock注释@IgnoreIf({condition})
来忽略基于给定环境变量的测试。
我在我的测试中使用它:@IgnoreIf({ env.IGNORE_REDIS == 'true' })
。并将其设置为Gradle运行配置,如下所示:
但是,永远不会设置环境属性。这是一个IDEA错误还是我在配置中遗漏了什么?
答案 0 :(得分:0)
这个怎么样?
@IgnoreIf({ properties.IGNORE_REDIS == 'true' })
对我而言,这适用于Spock(不使用Grails)。
答案 1 :(得分:0)
您需要修改gradle测试任务以复制系统属性。
task integrationTest(...) {
systemProperties System.properties // this line passes the systemproperties from gradle to your tests
}
你在Spock的测试:
@IgnoreIf({sys['IGNORE_REDIS']})
//or
@IgnoreIf({sys.IGNORE_REDIS})
//or
@IgnoreIf({sys.IGNORE_REDIS == 'true'})