我想对某些预定义环境进行验收测试。我有一个带有env{ dev{...}, test{...}}
配置的文件env.groovy。
我在build.gradle
中以这种方式传递属性之一:
test {
enabled = false
systemProperties = System.getProperties()
systemProperties['foo'] = 'bar'
}
当我触发像
FooValTest
这样的测试时 @Test
public void testFooVal(){
assertEquals("bar", System.getProperty("foo"));
}
它失败。
来源:https://github.com/mvcatsifma/spring-ctx-props-file/blob/master/src/test/java/AppTest.java
这个标志
enabled=false
有所作为-为什么呢?它不允许sysProperties更改?我想保留
enabled=false
,因为它是继承的。
最佳答案
您不是在这里设置实际的系统属性,而是在修改返回的数据结构。
根据我的经验,以下作品:
test {
systemProperty "foo", "bar"
}
Enabled仅启用或禁用任务(https://docs.gradle.org/current/userguide/more_about_tasks.html的14.8.3节)
关于groovy - 应用程序代码中的gradle build属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30401695/