应用程序代码中的gradle构建属性

时间:2015-05-22 16:28:44

标签: groovy gradle build.gradle

我想针对某些预定义环境启动验收测试。我有一个带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,因为它是继承的。

1 个答案:

答案 0 :(得分:0)

您未在此处设置实际的系统属性,您只需修改返回的数据结构。

根据我的经验,以下工作:

test {
  systemProperty "foo", "bar"
}

启用只启用或禁用任务(https://docs.gradle.org/current/userguide/more_about_tasks.html处的第14.8.3节)