Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在每个测试类都有自己的并行JVM的情况下运行Maven surefire?_Java_Maven_Junit_Jvm_Surefire - Fatal编程技术网

Java 如何在每个测试类都有自己的并行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

无论我对Maven+Surefire使用什么设置,我在我的process manager中都只看到一个JVM。我有一台Windows7电脑,有8个物理内核。我正在运行最新的Maven/Surefire/JUnit和JDK8(32位)

我尝试将所有测试分解为每个测试类一个测试。(我读到JVM只是为测试类而不是测试方法生成的。)尽管如此,我在process manager中从未见过多个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>

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>