【问题标题】:How to reset env for cucumber-reports through commands in karate如何通过空手道中的命令重置黄瓜报告的环境
【发布时间】:2019-04-23 01:40:51
【问题描述】:

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

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

【问题讨论】:

    标签: cucumber karate gherkin cucumber-junit


    【解决方案1】:

    我不确定我是否理解。您用

    覆盖该值
    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";
    }
    

    【讨论】:

    • 是的,我想覆盖该值。如何通过命令行覆盖值
    • 您的命令行有效。只需删除System.setProperty("karate.env", "pre_production");
    • 我还更新了我的帖子,向您展示如果env 不是授权值,则直接在karate-config.js 中使用默认值
    猜你喜欢
    • 2019-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多