groovy - 应用程序代码中的gradle build属性

标签 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,因为它是继承的。

最佳答案

您不是在这里设置实际的系统属性,而是在修改返回的数据结构。

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

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/

相关文章:

android - 无法为 org.gradle.testing.jacoco.tasks.JacocoReport 类型的任务 'classDirectories' 设置只读属性 '...' 的值

groovy - 如何在groovy中使用随机数?

grails - 根据传递给 Controller ​​的参数动态创建查询

gradle - 如何从 Gradle 中的 Findbugs 插件生成 XML 和 HTML 报告

android - 条目 : otherfileoutputs=null 中的空值

android - 无法验证dex文件乱序的注解_元素名_idx

open-source - 我可以学习的 Great Grails 开源应用程序

grails - Grails/GORM —使用 'hasMany'将关联映射到整个类层次结构

android - 此版本中使用了已弃用的 Gradle 功能,使其与 Gradle 7.0 不兼容。 flutter

java - 如何在gradle java自定义插件中添加源集