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

时间:2018-05-07 07:04:06

标签: java maven junit maven-surefire-plugin maven-failsafe-plugin

我正在尝试将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>

1 个答案:

答案 0 :(得分:0)

默认情况下,代码计算线程数(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>