gpt4 book ai didi

java - 如何从 gradle 项目中的命令行覆盖集成测试中的属性?

转载 作者:太空宇宙 更新时间:2023-11-04 12:28:32 26 4
gpt4 key购买 nike

例如,您在属性文件中指定了一个数据源,并且您希望在 CI 中覆盖它。如果我做类似的事情:

gradle -DdataSource.user=fred clean integrationTest

...这对于正在运行的测试 JVM 是可见的还是仅对 Gradle 可见?这样做的正确方法是什么?实际上,我现在正在编写一个测试来解决这个问题,但如果答案先出现在这里,其他人就可以得到切达干酪。

最佳答案

不,仅以这种方式传递它不会使该变量在您的测试中可用。您已配置测试任务以使它们将此属性填充到测试中。

可以通过这种方式对所有测试任务完成一次

tasks.withType(Test) { systemProperty 'datasource.user', System.getProperty('datasource.user', 'defaultisername') }

或者,如果您有多个变量要填充,则将它们全部传递一次,如下所示

test {
options {
systemProperties(System.getProperties())
}
}

关于java - 如何从 gradle 项目中的命令行覆盖集成测试中的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38130521/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com