如何告诉 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>

有人知道如何设置测试吗?

@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>

此配置对我有用。

你可以使用这个

<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 版本。

参考资料在这里

最新更新