如何告诉Maven在新的JVM实例中逐个执行testng测试?

时间:2013-09-10 13:08:21

标签: maven jvm testng

是否可以告诉Maven以串行模式在新的JVM实例(fork)中执行每个testng测试,即逐个执行。

以下配置适用于junit,但不适用于testng

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.9</version>
    <configuration>
         <forkMode>always</forkMode>
   </configuration>

有人知道如何设置testng吗?

2 个答案:

答案 0 :(得分:3)

@ ben75,谢谢你的回答,但它对我不起作用。

关键是我们使用suiteXmlFiles指定要运行的案例,如果我们使用suiteXmlFiles,则forkMode或(forkCount resuseForks)不起作用。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.16</version>
    <configuration>
        <includes>
            <include>**/Test*.java</include>
        </includes>
        <forkMode>always</forkMode>
    </configuration>
</plugin>

此配置适用于我。

答案 1 :(得分:1)

您可以使用此

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.16</version>
    <configuration>
        <forkCount>1</forkCount>
        <reuseForks>false</reuseForks>
        ...

这是一个非常昂贵的配置(即运行测试需要很长时间......所以最好不要使用它,但你可能有一些(好的?)理由使用它。)

这个解决方案是自2.14版以来的方法,所以我建议你升级你的surefire-plugin版本。

引用为here