Grails 3 - 有条件地忽略Spock测试

时间:2017-04-18 13:09:09

标签: grails intellij-idea gradle spock

我希望在从Intellij IDEA运行时,使用Spock注释@IgnoreIf({condition})来忽略基于给定环境变量的测试。

我在我的测试中使用它:@IgnoreIf({ env.IGNORE_REDIS == 'true' })。并将其设置为Gradle运行配置,如下所示:

enter image description here

但是,永远不会设置环境属性。这是一个IDEA错误还是我在配置中遗漏了什么?

2 个答案:

答案 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'})