JUnit 5 vs TestNG

Ser*_*gii 13 comparison junit testng junit5

我们使用的是JUnit 4,但我们在测试分组方面遇到了一些问题.对于集成测试,我们遇到了运行顺序的问题.我们已于2016年2月迁移到TestNG.

现在我们正在为我们的项目启动一个新的独立模块,我们的部分团队成员想要JUnit 5.我相信它比第4更好(有一些新的重要功能,但我也看到了一些问题).

我不想使用JUnit 5,因为担心我们的新应用程序可能出现问题,因为我有第4次经验.但我必须对团队更加灵活,因此在做出决定之前,我需要具有JUnit 5经验的用户的建议.

Anv*_*hat 8

TestNG 的目标超越了单元测试,因此它涵盖了更广泛的测试需求,如场景测试、集成测试、依赖测试、排序、并行执行等,但 JUnit 5 不支持这些功能。

JUnit 5 团队在他们的路线图中有上述项目,但他们正在扩展单元测试框架以支持更广泛的测试需求。让我们看看与 TestNG 相比,Junit 5 的新后续版本如何能够满足更广泛的测试需求

对于基于 Spring 的应用程序,Junit 最适合进行单元和集成测试,因为它是默认的测试框架,并且 Spring 提供了大量的 Mockito 测试 API。

对于一般测试和 Web 自动化 (Selenium) - TestNG 是事实。


And*_*mov 7

JUnit 5引入了许多新功能.目前Intellij IDEA支持JUnit 5.

看看有关集成的文章:在IntelliJ IDEA中使用JUnit 5.

现在有一些有用的注释,例如:

  • @Tag用于在类或方法级别声明用于过滤测试的标记; 类似于TestNG中的测试组或JUnit 4中的类别

  • @DisplayName 声明测试类或测试方法的自定义显示名称

查看更多:JUnit 5用户指南