Java 使用Gradle将环境变量添加到Cucumber任务

Java 使用Gradle将环境变量添加到Cucumber任务,java,gradle,cucumber,Java,Gradle,Cucumber,如何将环境变量添加到Gradle的Cumber任务中?我的配置直接来自Gradle的入门: task cucumber() { dependsOn assemble, compileTestJava doLast { javaexec { main = "io.cucumber.core.cli.Main" classpath = configurations.cucumberRuntime + sourceSets

如何将环境变量添加到Gradle的Cumber任务中?我的配置直接来自Gradle的入门:

task cucumber() {
    dependsOn assemble, compileTestJava
    doLast {
        javaexec {
            main = "io.cucumber.core.cli.Main"
            classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
            args = ['--plugin', 'pretty', '--glue', 'gradle.cucumber', 'src/test/resources']
        }
    }
}
我成功地为单元测试设置了变量,如下所示:

test {
    environment 'OHTU_TS_ENV', 'test'
    testLogging.showStandardStreams = true
    systemProperties System.getProperties()
}
但是
environment
方法不适用于Cucumber的任务,除非我将其设置为type
type:Exec
,这会中断任务的其余部分


谢谢大家!

我想知道您是如何设置环境变量的?这样做应该是可行的(用Gradle 6.0.1测试):

尝试使用System.getenv()


这是如何回答这个问题的?我开始怀疑我是否完全误解了…
task cucumber() {
    dependsOn assemble, compileTestJava
    doLast {
        javaexec {
            main = "io.cucumber.core.cli.Main"
            environment 'OHTU_TS_ENV', 'test'
            classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
            args = ['--plugin', 'pretty', '--glue', 'gradle.cucumber', 'src/test/resources']
        }
    }
}
task publishResults {
    doLast {
        exec {
            workingDir "build/cucumber-report/"
            def curlCommand = "curl -v --basic --user " + System.getenv('CREDS') + ' -F file=@output_results.zip ' + jiraUrl
            commandLine curlCommand.split(' ')
        }
    }
}