我们使用的是 JUnit 4,但我们在测试分组方面遇到了一些问题。对于集成测试,我们遇到了运行顺序的问题。我们已于 2016 年 2 月迁移到TestNG。
现在我们正在为我们的项目启动一个新的独立模块,我们的部分团队成员想要JUnit 5。我相信它比4th好得多(有一些新的重要功能,但我也看到了一些问题)。
我不想使用 JUnit 5,因为担心我们的新应用程序可能出现问题,因为我有4th的经验。但是我必须对团队更加灵活,所以在做出决定之前,我需要有JUnit 5经验的用户的建议。
TestNG 目标超出了单元测试,因此它涵盖了更广泛的测试需求,如场景测试、集成测试、依赖测试、排序、并行执行等,但 JUnit 5 不支持这些功能。
JUnit 5 团队在他们的路线图中包含上述这些项目,但他们正在扩展单元测试框架以支持更广泛的测试需求。让我们看看与 TestNG 相比,Junit 5 的新后续版本如何能够满足更广泛的测试需求
对于基于 Spring 的应用程序,Junit 最适合进行单元和集成测试,因为它是默认的测试框架,并且 Spring 提供了许多带有 Mockito 的测试 API。
对于一般测试和 Web 自动化 (Selenium) - TestNG 是事实上的。
JUnit 5 引入了很多新特性。目前 Intellij IDEA 支持 JUnit 5。
查看有关集成的文章:在 IntelliJ IDEA 中使用 JUnit 5。
现在有一些有用的注释,比如:
@Tag
用于在类或方法级别声明过滤测试的标签;类似于 TestNG 中的测试组或 JUnit 4 中的类别
@DisplayName
声明测试类或测试方法的自定义显示名称
查看更多:JUnit 5 用户指南