如何通过Gradle和-D将系统属性赋予我的测试

我有一个读取系统属性的Java程序

System.getProperty("cassandra.ip");

我有一个Gradle构建文件

gradle test -Pcassandra.ip=192.168.33.13

要么

gradle test -Dcassandra.ip=192.168.33.13

但是 将始终返回 。

我发现的唯一方法是通过以下方式将其添加到我的Gradle构建文件中

test {

systemProperty "cassandra.ip", "192.168.33.13"

}

我如何通过-D做到这一点

回答:

-P标志用于gradle属性,-D标志用于JVM属性。因为测试可能是在新的JVM中派生的,所以传递给gradle的-D参数不会传播到测试中-听起来这就是您所看到的行为。

您可以test像完成操作一样在您的块中使用systemProperty,但可以通过将其与-P一起传递来基于传入的gradle属性:

test {

systemProperty "cassandra.ip", project.getProperty("cassandra.ip")

}

或者,如果您通过-D传递

test {

systemProperty "cassandra.ip", System.getProperty("cassandra.ip")

}

以上是 如何通过Gradle和-D将系统属性赋予我的测试 的全部内容, 来源链接: utcz.com/qa/406078.html

回到顶部