在 Maven 版本中并行运行 junit 测试?
我正在使用JUnit 4.4和Maven,并且我有大量长时间运行的集成测试。
在并行化测试套件时,有一些解决方案允许我在单个测试类中并行运行每个测试方法。但所有这些都要求我以某种方式改变测试。
我真的认为在X线程中并行运行X个不同的测试类将是一个更干净的解决方案。我有数百个测试,所以我并不真正关心线程化单个测试类。
有什么办法可以做到这一点吗?
我正在使用JUnit 4.4和Maven,并且我有大量长时间运行的集成测试。
在并行化测试套件时,有一些解决方案允许我在单个测试类中并行运行每个测试方法。但所有这些都要求我以某种方式改变测试。
我真的认为在X线程中并行运行X个不同的测试类将是一个更干净的解决方案。我有数百个测试,所以我并不真正关心线程化单个测试类。
有什么办法可以做到这一点吗?
使用 maven 插件:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.7.1</version>
<configuration>
<parallel>classes</parallel>
<threadCount>5</threadCount>
</configuration>
</plugin>
</plugins>
</build>
从 junit 4.7 开始,现在可以在不使用 TestNG 的情况下并行运行测试。实际上,从4.6开始就有可能,但是在4.7中进行了许多修复,使其成为一个可行的选择。您还可以使用弹簧运行并行测试,您可以在此处阅读相关信息