gpt4 book ai didi

intellij-idea - 如何将 Java 系统属性传递给 Gradle 单元测试

转载 作者:行者123 更新时间:2023-12-04 05:51:49 31 4
gpt4 key购买 nike

我得到了一个依赖 Java SystemProperty 的 JUnit 测试(更准确地说,其中使用的库依赖于它)。
我想从 IntelliJ 开始 JUnit 测试。因此,我编辑了运行配置并添加了诸如“-DpropertyName=value”之类的 VM 选项。然后 IntelliJ 以这样的方式启动 gradle:

gradle cleanTest test --tests com.example.Test -DpropertyName=value

当我使用 System.getProperty()/getProperties() 从我的测试中检查时,该属性未通过,因此为空。

如何将属性传递给 JunitTest?

最佳答案

事实证明,IntelliJ 只能将这些 JVM 选项传递给运行中的 JVM gradle,而 gradle 不会将这些选项传递给测试。要为将运行测试的 JVM 指定一个属性,请编辑 build.gradle文件并添加:

test {
systemProperty 'propertyName', 'value'
}

或者,相反,添加
test.jvmArgs System.getProperty("test.jvmArgs").split(" ")

build.gradle文件并将您的运行配置 VM 选项修改为类似
-Dtest.jvmArgs="-DpropertyName=value -Dprop2=value2"

关于intellij-idea - 如何将 Java 系统属性传递给 Gradle 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31946707/

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