gradle 在应用程序代码中构建 属性
gradle build property in application code
我想对一些预定义的环境进行验收测试。我有一个文件 env.groovy 和 env{ dev{...}, test{...}}
配置。
我在 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 只是启用或禁用任务(第 14.8.3 节 https://docs.gradle.org/current/userguide/more_about_tasks.html)
我想对一些预定义的环境进行验收测试。我有一个文件 env.groovy 和 env{ dev{...}, test{...}}
配置。
我在 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 只是启用或禁用任务(第 14.8.3 节 https://docs.gradle.org/current/userguide/more_about_tasks.html)