Java 使用Gradle将环境变量添加到Cucumber任务
如何将环境变量添加到Gradle的Cumber任务中?我的配置直接来自Gradle的入门: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
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的任务,除非我将其设置为typetype: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(' ')
}
}
}