例如,假设您在属性文件中指定了数据源,并且希望在CI中覆盖它。如果我这样做:
{{1}}
...这对于正在运行的测试JVM是可见的,还是仅仅是Gradle?这样做的正确方法是什么?我现在正在编写一个测试来解决这个问题,但如果答案首先出现在这里,其他人可以拥有切达干酪。
答案 0 :(得分:0)
不,只是以这种方式传递它不会使这个变量在你的测试中有用。您已配置测试任务,以使其将此属性填充到测试中。
这可以通过这种方式对所有测试任务执行一次
tasks.withType(Test) { systemProperty 'datasource.user', System.getProperty('datasource.user', 'defaultisername') }
或者,如果要填充多个变量,则将它们全部传递一次,如此
test {
options {
systemProperties(System.getProperties())
}
}