如何通过空手道中的命令重置env for cucumber-reports

问题描述 投票:1回答:1

我在空手道中有一个跑步者文件来生成黄瓜报告

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创建不同的运行器

cucumber karate gherkin cucumber-junit
1个回答
2
投票

我不确定我理解。您使用覆盖值

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";
}
© www.soinside.com 2019 - 2024. All rights reserved.