如何限制整个测试中的junit测试运行时间?

时间:2017-03-22 06:41:01

标签: java maven junit maven-surefire-plugin

有一些测试,其中一些太慢了。可以将maven配置为在运行时跳过/失败测试,​​然后再说2000毫秒吗?

2 个答案:

答案 0 :(得分:0)

正如@KrishnanunniPV所指出的,forkedProcessTimeoutInSeconds可以帮助您解决这个问题。如果你不介意测试失败,你只需要在你的pom中添加构建部分:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.19.1</version>
    <configuration>
        <forkedProcessTimeoutInSeconds>2</forkedProcessTimeoutInSeconds>
    </configuration>
</plugin>

如果你希望你的构建成功,即使超时已经过去,你也可以这样做:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.19.1</version>
    <configuration>
        <forkedProcessTimeoutInSeconds>2</forkedProcessTimeoutInSeconds>
        <testFailureIgnore>true</testFailureIgnore>
    </configuration>
</plugin>

答案 1 :(得分:0)

我认为更好的例如说,需要花费太长时间的测试是集成测试(例如将它们作为IT后缀),然后告诉maven在启用maven集成测试配置文件时运行它们。