为什么用Pax-Exam关闭测试需要这么长时间?

问题描述 投票:0回答:1

在使用pax-exam(4.13.1)运行集成测试后,关闭maven-surefire- / failsafe-plugin大约需要30秒。无论测试是否失败。

我尝试了不同的pax-exam配置,甚至测试次数也没关系。但是在测试完成后,我看到了以下日志输出

08:26:21.960 [main] DEBUG org.ops4j.pax.exam.karaf.container.internal.KarafTestContainer - Shutting down the test container (Pax Runner)

08:26:23.584 [main] INFO org.ops4j.pax.exam.spi.reactors.ReactorManager - suite finished
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 20.651 s - in com.foo.integrationtests.BarIT
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  53.191 s
[INFO] Finished at: 2019-04-08T08:26:53+02:00
[INFO] ------------------------------------------------------------------------

我无法理解为什么在关闭测试套件后,maven-plugin需要大约30秒才能完成。有谁知道为什么?

integration-testing maven-surefire-plugin maven-failsafe-plugin pax-exam
1个回答
0
投票

似乎pax-exam的实际版本中存在一个错误

但我找到了解决这个问题的方法。在插件配置中添加以下内容会将分叉进程的超时时间从30秒减少到0。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-failsafe-plugin</artifactId>
  <version>${maven-failsafe-plugin.version}</version>
  <configuration>
    <forkedProcessExitTimeoutInSeconds>0</forkedProcessExitTimeoutInSeconds>
  </configuration>
</plugin>
© www.soinside.com 2019 - 2024. All rights reserved.