如何在Cucumber-JVM中并行运行场景?

时间:2014-06-12 18:18:49

标签: java cucumber cucumber-jvm cucumber-junit junit-runner

我为Cucumber-JVM编写了一组验收测试。为了减少反馈时间,我想并行运行(特征的)场景。我如何以最简单,最方便的方式做到这一点?

(我希望能够在Java代码中表达这一点,作为常规的JUnit测试/跑步者,即我宁愿不使用maven-surefire或maven-failsafe插件来解决某些变通方法(?之后,黄瓜报告的混合和合并。)

1 个答案:

答案 0 :(得分:2)

由于cucumber-jvm软件包的性质,测试并行化暂时受到限制。有关未来改变API的初步计划(gherkin3,cucumber-jvm v2),但现在在cucumber-jvm上没有任何东西可用于完全并行化。

还有一种方法可以在黄瓜-jvm上达到一定程度的平行度。 Zucchini包(https://github.com/Comcast/Zucchini)可以通过提供上下文级并行来提供帮助,如果您必须针对Android / iOS / Chrome /等运行一系列测试,这可能会有所帮助。然后将测试结果合并到一个报告中。

要开始使用Zucchini,请创建一个扩展AbstractZucchiniTest的新测试类,并使用@CucumberOptionsZucchiniOutput进行标记。然后,该类应该实现返回特定上下文列表的List<TestContext> getTestContexts()方法。

Zucchini还提供其他功能,例如跨上下文屏障同步和聚合测试输出到HTML报告中。如果您已经进行了黄瓜测试,那么将它们升级为西葫芦测试并不会有太大的影响。