如何按顺序运行 JUnit5 测试?

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

有没有办法让特定类的测试按顺序运行[JUnit5]?我在构建项目时使用了 Sure-fire 插件,并且对某些类的测试失败了,而当我在 IntelliJ 中逐类运行它们时,它们都通过了。我尝试过使用 Order 注释,但测试仍然失败,这告诉我该注释不会使测试按顺序运行。我想让我的两个测试类按顺序执行测试,而其他测试类则并行执行,但我找不到如何执行此操作的正确解决方案?

附注我在运行一个 JVM 进程的 Maven Sure-Fire 插件中添加了一项配置,但这不是我想要的行为。

如有任何帮助,我们将不胜感激。预先感谢!

java unit-testing testing junit5 maven-surefire-plugin
1个回答
4
投票

JUnit 用户指南中所述,您可以使用

@TestMethodOrder
注释来控制运行时测试的顺序。例如,要在测试方法上使用
@Order
注释,您可以在测试
class
级别应用 @TestMethodOrder(OrderAnnotation.class)

话虽如此,你真的、真的、真的应该考虑将其作为最后的手段。除非您明确且有意(完全理解为什么)编写测试来要求特定的顺序,否则您只会掩盖测试或他们正在测试的代码中的一些潜在问题。

帮自己一个忙,尽力找出他们失败的原因,而不是在问题上贴上强制排序的创可贴。

© www.soinside.com 2019 - 2024. All rights reserved.