java - Java属性文件和Gradle

标签 java properties gradle testng

我有一个Java TestNG项目,该项目使用gradle运行测试套件。当前,大多数测试都将某些参数从constants.properties文件中拉出。运行gradle任务时,如何在命令行上修改这些内容? gradle -DapplicationKey=0000会替换我的constants.properties文件中的applicationKey=1234行吗?

编辑:
为了更清楚地了解情况和问题,我的constants.properties文件包含大约400至500个已经定义的属性。我想避免完全重写gradle中的那些属性。当Jenkins作为构建作业的一部分运行相同的命令时,我只想从命令行覆盖这些属性。

最佳答案

您想要将系统属性传递给用于运行测试的JVM。这是一种配置Test类型的所有任务的方法:

tasks.withType(Test) {
  systemProperty 'applicationKey', System.getProperty('applicationKey', '1234')
}

或仅一项任务
test {
    useTestNG()
    systemProperties = [
            applicationKey: System.getProperty('applicationKey', '1234')
    ]
}

您还可以使用systemProperties = System.getProperties()将所有系统属性从Gradle环境复制到子虚拟机

关于java - Java属性文件和Gradle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30110621/

相关文章:

iphone - 合成属性是否已经 alloc/init -ed?

android - 如何使用 kotlin-dsl Gradle 插件从 Kotlin 1.2 迁移到 1.3?

java - Gradle + Intellij IDEA 13 错误

gradle - 最好在 Gradle 中使用任务依赖项或 task.doLast 吗?

java - 如何在坐标很少的情况下使用 AffineTransform?

java - 将字符串转换为十六进制以用作 Canvas 油漆颜色 Java

Java 6 注释带或不带参数重复

java - MrBean模块在反序列化时是否仍然自动支持动态实现简单接口(interface)?

php - 在 Phing(和 Ant)构建脚本中选择属性

oop - 如何让抽象的依赖属性起作用