Java 如何在每个测试类都有自己的并行JVM的情况下运行Maven surefire?
无论我对Maven+Surefire使用什么设置,我在我的process manager中都只看到一个JVM。我有一台Windows7电脑,有8个物理内核。我正在运行最新的Maven/Surefire/JUnit和JDK8(32位) 我尝试将所有测试分解为每个测试类一个测试。(我读到JVM只是为测试类而不是测试方法生成的。)尽管如此,我在process manager中从未见过多个JVM 理想情况下,我希望每个测试类运行一个单独的JVM——并行运行8个(每个核心一个/不恢复JVM) 所需的Maven Surefire设置是什么 以下内容不适用于我:Java 如何在每个测试类都有自己的并行JVM的情况下运行Maven surefire?,java,maven,junit,jvm,surefire,Java,Maven,Junit,Jvm,Surefire,无论我对Maven+Surefire使用什么设置,我在我的process manager中都只看到一个JVM。我有一台Windows7电脑,有8个物理内核。我正在运行最新的Maven/Surefire/JUnit和JDK8(32位) 我尝试将所有测试分解为每个测试类一个测试。(我读到JVM只是为测试类而不是测试方法生成的。)尽管如此,我在process manager中从未见过多个JVM 理想情况下,我希望每个测试类运行一个单独的JVM——并行运行8个(每个核心一个/不恢复JVM) 所需的Mav
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<includes>
<include>${default.test.suite}</include>
</includes>
<reuseForks>false</reuseForks>
<forkCount>1.0C</forkCount>
<parallel>classes</parallel>
<threadCount>1</threadCount>
<!--
<useUnlimitedThreads>true</useUnlimitedThreads>
<parallelOptimized>false</parallelOptimized>
-->
</configuration>
</plugin>
org.apache.maven.plugins
maven surefire插件
${maven surefire plugin.version}
${default.test.suite}
假的
1.0摄氏度
班级
1.
(我尝试了
reuseForks
,forkCount
,parallel
,threadCount
,useUnlimitedThreads
,和parallelOptimized
的各种组合)如果使用JUnit,首先“parallel”只适用于TestNG,其他一些属性也是如此,所以他们对你没有帮助/兴趣:
以下是在JUnit设置中对我们有用的内容(对于TestNG来说不太好,正如刚才在这里发布的:):
org.apache.maven.plugins
您使用的是TestNG还是JUnit?你的插件版本是什么?你正在使用的TestNG/JUnit版本是什么?这句话说明了一切:我正在运行最新的Maven/Surefire/JUnit和JDK8(32位)。
从JUnit 4.7开始,并行也适用于JUnit。有关详细信息,请参阅此处的文档:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<reuseForks>false</reuseForks>
<forkCount>2.5C</forkCount>
</configuration>
</plugin>