我尝试使用 JUnit5 + Maven Surefire 插件进行并行执行。为此我做了一些设置:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M4</version>
<configuration>
<properties>
<configurationParameters>
junit.jupiter.execution.parallel.enabled = true
junit.jupiter.execution.parallel.mode.default = concurrent
</configurationParameters>
</properties>
</configuration>
</plugin>
</plugins>
对于标记注释@Test的测试方法,它可以正常工作。 但我也有标记注释 @ParameterizedTest 的测试,我希望它们应该使用来自源的不同值并行运行。但它并没有像我预期的那样工作——它在一个线程中运行。 是否可以解决这个问题,或者这是 JUnit 5 中的一个功能。
使用@Execution(ExecutionMode.CONCURRENT)标签和@ParameterizedTest为每组数据并行运行脚本。