在separte JVM中运行测试

时间:2017-12-12 09:04:16

标签: java junit jvm maven-surefire-plugin

是否有一种干净的方法可以在每个独立的jvm中实现运行@Test方法。 我得到了surefire设置来分叉每个TestClass但我需要运行方法。

每个应该从它自己独立的JVM开始。理想情况下,通过注释,我可以参数化哪些测试可以分叉测试用例和哪一个测试方法

1 个答案:

答案 0 :(得分:2)

您可以使用Maven的Surefire插件实现分叉测试执行。

请参阅http://maven.apache.org/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html

中有关分叉测试执行的部分

以上页面中的示例说明了如何创建3个分叉执行:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.20.1</version>
    <configuration>
        <forkCount>3</forkCount>
        <reuseForks>true</reuseForks>
        <argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>
        <systemPropertyVariables>
            <databaseSchema>MY_TEST_SCHEMA_${surefire.forkNumber}</databaseSchema>
        </systemPropertyVariables>
        <workingDirectory>FORK_DIRECTORY_${surefire.forkNumber}</workingDirectory>
    </configuration>
</plugin>