我有一个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/