当前位置: 首页 > 知识库问答 >
问题:

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

商夜洛
2023-03-14
System.getProperty("cassandra.ip");
gradle test -Pcassandra.ip=192.168.33.13
gradle test -Dcassandra.ip=192.168.33.13

但是,System.GetProperty将始终返回NULL。

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

test {
    systemProperty "cassandra.ip", "192.168.33.13"
}

我如何通过-d实现它

共有1个答案

顾靖
2023-03-14

-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")
}
 类似资料:
  • 问题内容: 我有一个读取系统属性的Java程序 我有一个Gradle构建文件 要么 但是 System.getProperty 将始终返回 null 。 我发现的唯一方法是通过以下方式将其添加到我的Gradle构建文件中 我如何通过-D做到这一点 问题答案: -P标志用于gradle属性,-D标志用于JVM属性。因为测试可能是在新的JVM中派生的,所以传递给gradle的-D参数不会传播到测试中-

  • 22.13.4.通过系统属性执行单独测试 如上所述该机制已经被测试过滤取代 译者注:被取代的东西就先不翻译了 Setting a system property of taskName.single = testNamePattern will only execute tests that match the specified testNamePattern. The taskName can

  • 问题内容: 我在Windows上的Eclipse上进行开发,并且代码在Unix上进行了部署。我正在使用System.getProperty(“ key”)获取系统属性值…如何在Eclipse中传递它,这样我就不必修改代码,并且可以在Eclipse上进行调试? 有什么建议? 问题答案: 运行->运行配置,选择项目,第二个选项卡:“参数”。顶部框用于您的程序,底部框用于VM参数,例如。

  • null 我有两个问题: (1)我无法让Java可执行文件读取系统属性 我是否这样做: 我如何通过这些变量?另外,使用还是更好?

  • 我在所有集成测试中不断收到异常,而单元测试运行良好。所有异常如下所示: 我正在使用Jupiter进行测试。我的观点的上述例外指向data.sql脚本,我必须填充一些数据。对我来说,语法似乎没问题,也运行良好,这意味着如果使用邮递员进行测试,会生成记录: 还考虑了Spring Boot可能存在的配置问题,所以我在gradle中添加了jdbc-starter依赖项。但它似乎仍然失败。 以下是测试的一部

  • 我为我的角度应用程序创建了一个简单的量角器测试。当我单击按钮时,输入值会被设置: e2e 测试期望输入填充“hoera”: 当我用“量角器配置”运行测试时,我得到: 我希望这样的东西:预期的“hoera”等于“hoera”?我如何让它通过,也许在角度设置值之前有一个延迟?这是代码的链接:https://github.com/dimitri-a/protractor_new