Java v8.x-春季v5.x黄瓜v4.2.0
我尝试了temyers/cucumber-jvm-parallel-plugin
,但工作正常,但是当我进入他们的gitihub页面时,他们宣布停止使用此插件。b / c黄瓜已经开始支持cucumber-jvm 4.0.0的并行测试运行支持。
我已经使用以下Maven依赖项进行了现有测试。
cucumber-java v4.2.0
cucumber-junit v4.2.0
cucumber-spring v4.2.0
我有两个问题让我感到困惑。
感谢您的帮助。
答案 0 :(得分:2)
在cucumber-jvm:4.0.0
中引入了并行支持。这样您的依赖关系就可以了。
如果您使用的是Maven:
Cucumber JUnit - Parallel Execution with Maven
黄瓜JUnit支持跨多个线程并行执行功能文件。要使用maven启用此功能,请将parallel属性设置为
methods
或both
。<build> <plugins> <plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> <parallel>both</parallel> <threadCount>4</threadCount> </configuration> </plugin> </plugins> </build>
如果您使用的是Gralde,最好使用Gradle Cucumber插件,因为Gradle不支持子类级别的并行化。在这种情况下,您不需要cucumber-junit
。
Gradle Cucumber runner - Running features in parallel
如果指定数量,则黄瓜支持并行执行 使用线程。这可以通过两种方式完成
- 一个从命令行
./gradlew cucumber --threads 4
运行的选项,它将运行四个并行线程- 扩展名,即在黄瓜部分的
build.gradle
文件中设置值。在构建脚本中设置值时,您真的不知道如何 构建将访问许多线程。硬编码固定号码 可能不是您最好的选择。
一种指定要使用的线程数的方法是:
cucumber { threads = = Runtime.runtime.availableProcessors().intdiv(2) ?: 1 }
这将使用尽可能多的线程,同时为 Gradle执行。