【问题标题】:Maven parallel test outputMaven 并行测试输出
【发布时间】:2014-03-27 05:46:50
【问题描述】:

当我将 Maven 构建设置为并行运行集成测试时,我看到:

01:31:47 -------------------------------------------------------
01:31:47  T E S T S
01:31:47 -------------------------------------------------------
01:31:48 Concurrency config is parallel='classes', perCoreThreadCount=true, threadCount=20, useUnlimitedThreads=false

但是我看不到任何测试的进度。最终,它们都完成了,输出被一次性全部丢弃。

01:41:42 Running com.my.test.TestClass
01:41:42 Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 69.706 sec
....

该测试类在一分钟后完成,但直到所有测试在 10 分钟后完成后才输出。

如何在每个类完成输出时获得结果?否则很难理解构建的进度。

【问题讨论】:

  • 什么结果控制台输出或肯定报告?
  • 这是正常行为。
  • 不幸的是,对于 JUnit 跑步者来说,这是一个在万无一失和故障保护中的现实,我发现没有办法绕过它。请注意,从这个角度来看,TestNG 的体验要好得多,它可以在并行/分叉模式下运行时为您提供实时日志。

标签: java maven


【解决方案1】:

希望你的问题是正确的。我认为这是因为并行运行的测试并不能真正使用同一个控制台来通知他们自己的进度,这在技术上不是,但从概念上讲它并没有真正的意义。 由于 maven 同时处理模块,因此同时运行的 2 个测试可能会“共享”控制台。你只会在输出中得到垃圾。

因此,我想您应该只查看控制台中的整体结果,然后查看每个模块的报告。

负责运行测试的 Surefire 插件会为每个测试生成报告。

还有surefire report plugin

希望对你有帮助

【讨论】:

  • 事实上,这很有意义。您可能只是报告“测试完成”之类的简单信息,并且只是显示正在运行的测试的心跳。
猜你喜欢
  • 2018-05-31
  • 2011-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-16
相关资源
最近更新 更多