我试着在测试项目中使用SystemProperties,但是代码中没有使用。
CLI命令:
gradle uitests -Dbrowser=chrome项目结构:
my-app/
├─ src/
│ ├─ test/
│ │ ├─ java/
│ │ │ ├─ LoginTest.java
│ │ │ ├─ BaseTest.java
│ │ ├─ resources/
│ │ │ ├─ login.feature
├─build.gradletasks.withType(Test){
systemProperty 'browser', System.getProperty('browser')
println systemProperties.get('browser') <------------------------(1)
}
task uitests() {
dependsOn assemble, testClasses
doLast {
javaexec {
main = "io.cucumber.core.cli.Main"
classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
args = [
'--plugin', 'pretty',
'--plugin', 'html:target/cucumber-report.html',
'--glue', myproject.steps',
'src/test/resources/scenarios']
}
}
}因此,第(1)行打印了我需要的正确参数,但是当我尝试用System.getProperty("browser");在代码中获取这个参数时,我得到了null。
发布于 2022-07-26 04:10:02
因为-D JVM param仅限于gradle JVM,因此不会自动传递给使用特定args手动创建的javaexec。
您已经添加了jvmArgs = ['-Dbrowser='+System.getProperty('browser')]
请参阅https://docs.gradle.org/current/dsl/org.gradle.api.tasks.JavaExec.html
https://stackoverflow.com/questions/73107886
复制相似问题