在没有并发的情况下在分叉的 VM 中执行每个测试方法

Execute each test method in a forked VM without concurrency

我正在尝试将 JUnit 测试的每个方法执行到一个单独的 VM 中,而不是同时执行所有方法。我想为每个测试方法使用单独的 VM 来序列化测试方法的执行。

我已经尝试了几种配置并检查了 Maven plugin documentation about forked VM 但我没有设法得到正确的行为。

我正在使用以下配置,但所有方法都是同时执行的。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>2.19.1</version>
    <configuration>
        <reuseForks>false</reuseForks>
        <parallel>methods</parallel>
        <threadCountMethods>1</threadCountMethods>
    </configuration>
</plugin>

线程数默认由代码统计(https://maven.apache.org/surefire/maven-failsafe-plugin/integration-test-mojo.html#perCoreThreadCount)。以下配置有效。

<configuration>
     <reuseForks>false</reuseForks>
     <parallel>methods</parallel>
     <threadCount>1</threadCount>
     <perCoreThreadCount>false</perCoreThreadCount>
 </configuration>