如何通过空手道中的命令为黄瓜报告重置环境

How to reset env for cucumber-reports through commands in karate

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

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);
    }

在此我将环境设置为 pre_production。

我想通过命令行更改或修改环境。

要通过命令行更改环境,我使用以下命令

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";
}