我在我的pom.xml中设置了所有超时属性。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
<configuration>
<forkCount>${surefire.forkNumber}</forkCount>
<reuseForks>false</reuseForks>
<argLine>-Xmx2G -XX:MaxMetaspaceSize=2G </argLine>
<parallel>methods</parallel>
<threadCount>${surefire.threadCount}</threadCount>
<forkedProcessTimeoutInSeconds>40s</forkedProcessTimeoutInSeconds>
<forkedProcessExitTimeoutInSeconds>40s</forkedProcessExitTimeoutInSeconds>
<parallelTestsTimeoutInSeconds>30s</parallelTestsTimeoutInSeconds>
<parallelTestsTimeoutForcedInSeconds>30s</parallelTestsTimeoutForcedInSeconds>
</configuration>
</plugin>
但我仍然看到一些测试花费的时间超过 40 秒(一次测试甚至需要 17 分钟(。可能的原因是什么?如何强制 30 秒超时?
文档指定您必须启用选项
平行
你必须设置<parallelTestTimeoutForcedInSeconds>5</parallelTestTimeoutForcedInSeconds>
以强制电流在超时时运行。
如果您正在使用
并行测试超时(秒(
只有排队的线程将被阻止执行
参考: http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html