Java:如何将环境变量添加到 Gradle 中的 JUnit 测试

Car*_*don 7 gradle

我已经设法让测试任务来运行我的单元测试,但它们失败了,因为我使用的 env 属性没有设置,例如: String base=System.getenv("TESTNG_BASE_PATH");

所以,我做了类似的事情:

tasks.withType(Test) {
   systemProperty 'TESTNG_BASE_PATH','long\\path\\to\env\var\value'   
}
Run Code Online (Sandbox Code Playgroud)

但是我仍然从我的代码中得到相同的异常,即找不到文件,所以这显然不是正确的方法。

那请问怎么做呢?

lan*_*ava 7

如果你通过System.getenv(...)你需要设置一个环境变量。我还包含了一个用于打开/关闭标准流的命令行标志

tasks.withType(Test) { 
    environment 'TESTNG_BASE_PATH','long\\path\\to\env\var\value'
    testLogging.showStandardStreams = Boolean.parseBoolean(findProperty('showStandardStreams'))
}
Run Code Online (Sandbox Code Playgroud)

运行你可以做

./gradlew check -PshowStandardStreams=true
Run Code Online (Sandbox Code Playgroud)