有没有办法让特定类的测试按顺序运行[JUnit5]?我在构建项目时使用了 Sure-fire 插件,并且对某些类的测试失败了,而当我在 IntelliJ 中逐类运行它们时,它们都通过了。我尝试过使用 Order 注释,但测试仍然失败,这告诉我该注释不会使测试按顺序运行。我想让我的两个测试类按顺序执行测试,而其他测试类则并行执行,但我找不到如何执行此操作的正确解决方案?
附注我在运行一个 JVM 进程的 Maven Sure-Fire 插件中添加了一项配置,但这不是我想要的行为。
如有任何帮助,我们将不胜感激。预先感谢!
如JUnit 用户指南中所述,您可以使用
@TestMethodOrder
注释来控制运行时测试的顺序。例如,要在测试方法上使用 @Order
注释,您可以在测试 class级别应用
@TestMethodOrder(OrderAnnotation.class)
。
话虽如此,你真的、真的、真的应该考虑将其作为最后的手段。除非您明确且有意(完全理解为什么)编写测试来要求特定的顺序,否则您只会掩盖测试或他们正在测试的代码中的一些潜在问题。
帮自己一个忙,尽力找出他们失败的原因,而不是在问题上贴上强制排序的创可贴。