【问题标题】:Does Maven Surefire execute test cases sequentially by default?Maven Surefire 是否默认按顺序执行测试用例?
【发布时间】:2011-09-01 10:13:58
【问题描述】:

这是question 的后续行动,我在深入研究时意识到:

假设 Maven Surefire 插件默认按顺序执行测试用例是否合理:一个测试用例在下一个测试用例开始之前结束(我对顺序不感兴趣)。我发现您可以将 Surefire 配置为并行运行,这是否意味着顺序执行是默认行为并且将来可能会如此?

注意:如果您问我为什么要强制测试按顺序运行(我知道,好的测试应该能够并行运行),它是因为我正在解决涉及 Web 应用程序覆盖范围的特定问题的解决方案。你可以阅读它here

谢谢

【问题讨论】:

  • 是的,默认情况下测试是一个接一个运行。为什么不直接测试一下?
  • 我测试了它,但我想确保它在任何环境(多核或非多核)上都能正常工作

标签: java testing maven surefire


【解决方案1】:

您的问题的答案涉及对未来的推测,这通常是一件困难的事情。话虽如此,我猜是的,这将是默认行为,因为测试的并行执行只对完全隔离的测试有意义,所有外部依赖项都被模拟,或者以其他方式已搞定。有时很难实现,尤其是在为旧代码创建测试时。在这种情况下,必须将决定权留给程序员,他们只知道使用并行性是否有意义。

【讨论】:

  • 因为你可以指定你选择使用哪个版本的surefire插件,未来的猜测不必是一个很大的问题:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-11
相关资源
最近更新 更多