【发布时间】:2015-02-28 16:58:26
【问题描述】:
无论我对 Maven + Surefire 使用什么设置,我从来没有看到在我的进程管理器中生成了多个 JVM。我有一台具有 8 个物理内核的 Windows 7 PC。我正在运行最新的 Maven / Surefire / JUnit 和 JDK8(32 位)。
我尝试将所有测试分解为每个测试类一个测试。 (我读到 JVM 只用于测试类,而不是测试方法。)不过,我在进程管理器中从来没有看到超过一个 JVM。
理想情况下,我希望每个测试类都运行一个单独的 JVM -- 并行 8 个(每个内核一个/不要重复使用 JVM)。
需要哪些 Maven Surefire 设置?
以下内容对我不起作用:
<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>
(我尝试了reuseForks、forkCount、parallel、threadCount、useUnlimitedThreads 和 parallelOptimized 的各种组合。)
【问题讨论】:
-
您使用的是 TestNG 还是 JUnit?您的插件版本是什么,您使用的 TestNG/JUnit 版本是什么?
-
这句话说明了一切:
I am running the latest Maven / Surefire / JUnit and JDK8 (32-bit).
标签: java maven junit jvm surefire