我在空手道中有一个跑步者文件来生成黄瓜报告
public void genrateFinalReport() {
System.setProperty("karate.env", "pre_production"); // ensure reset if other tests (e.g. mock) had set env in CI
Results results = Runner.parallel(getClass(), 1);
generateReport(results.getReportDir());
assertTrue(results.getErrorMessages(), results.getFailCount() == 0);
}
在这我已经设置了预生产的环境。
我想通过命令行更改或修改环境。
要通过命令行更改环境,我使用下面的命令
mvn test -Dkarate.env=production -Dtest=PcadSanityTestReport
但默认情况下,pre_production环境正在传递
com.intuit.karate - karate.env system property was: pre_production
任何人都可以帮助如何在命令行中传递env或我是否需要为不同的env创建不同的运行器
我不确定我理解。您使用覆盖值
System.setProperty("karate.env", "pre_production");
在您启动测试之前,您还希望价值不同吗?
编辑:因为你似乎想要env
的默认值,你应该在karate-config.js中这样做
var env = karate.env;
//here, you can override env with a default value if the value isn't an authorized one :
if (env != "pre_production" && env != "production"){
env = "pre_production";
}