【问题标题】:Using Karate inside a SBT project在 SBT 项目中使用空手道
【发布时间】:2019-01-15 16:46:38
【问题描述】:

我正在使用空手道在 Scala/SBT 项目中编写集成测试。此外,用空手道编写的集成测试也用作documentation中编写的性能测试

Karate 是唯一一款将 Web-API 测试和测试替身组合到一个统一的测试自动化框架中的开源工具。而且您可以将 API 功能测试用作性能测试!

稍后在文档中指出,我们可以使用Cucumber Options 作为mvn test -Dtest=CatsRunner 启动一项或多项测试。由于所有示例都使用 maven,而我使用 SBT。

所以我尝试使用此命令 sbt test -Dtest=CatsRunner 启动一项测试,但没有成功。

您有什么想法可以使用 SBT 启动一项空手道测试吗? 谢谢:)

【问题讨论】:

    标签: scala testing sbt karate


    【解决方案1】:

    最新的 0.8.0 版本引入了不需要 Cucumber 注解的 Java API。这里有一个例子:https://github.com/intuit/karate/blob/master/karate-demo/src/test/java/demo/DemoTestSelected.java

        List<String> tags = Arrays.asList("~@ignore");
        List<String> features = Arrays.asList("classpath:demo/cats");
        String karateOutputPath = "target/surefire-reports";
        KarateStats stats = CucumberRunner.parallel(tags, features, 5, karateOutputPath);
    

    这是为并行执行而设计的。但是你应该很容易在 features 数组中传递一个特性并使用 1 个线程。

    我可以在下一个版本中添加运行类似于 JUnit @RunWith(Karate.class) 注释的单个功能的功能,通过 Java API 而不是注释,请随时提交功能请求。如果您搜索文档,您会找到一种通过 Java API 运行单个功能的方法 - 但它不会发出报告。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-21
      • 2016-03-26
      • 2013-12-29
      • 1970-01-01
      • 1970-01-01
      • 2011-09-21
      相关资源
      最近更新 更多