33 - JUnit5 单元测试框架

JUnit5 框架构成

JUnit5 构成

Junit Platform:这是 Junit 向测试平台演进,提供平台功能的模块,通过 Junit Platform,其他的自动化测试引擎或开发人员自己定制的引擎都可以接入 Junit 实现对接和执行。试想下将 TestNG 运行在 Junit 上,是不是有点意思了?
Junit Jupiter:这是 Junit5 的核心,可以看作是承载 Junit4 原有功能的演进,它包含了很多丰富的新特性来使 Junit 自动化测试更加方便、功能更加丰富和强大。本系列就会重点围绕 Jupiter 中的一些特性进行介绍。Jupiter 本身也是一个基于 Junit Platform 的引擎实现。
Junit Vintage:Junit 发展了数10年,JUnit3 和 JUnit4 都积累了大量的用户,作为新一代框架,这个模块是对 JUnit3,Junit4 版本兼容的测试引擎,使旧版本JUint 的自动化测试脚本也可以顺畅运行在 JUnit5 下,它也可以看做是基于 JUnit Platform 实现的引擎范例。

JUnit5 新特性

  • 嵌套单元测试
  • Lambda 支持
  • 参数化测试
  • 重复测试
  • 动态测试

Junit5 依赖导入


      org.junit.jupiter
      junit-jupiter-engine
      5.5.2


        org.junit.platform
        junit-platform-runner
        1.5.1

JUnit5 注解

  • @Test
  • @BeforeAll
  • @AfterAll
  • @BeforeEach
  • @AfterEach
  • @Nested
  • @Disabled
  • @DisplayName
  • @ParameterizedTest
  • @RepeatedTest

JUnit5 执行过程

套件测试

  • @RunWith(JunitPlatform.class)
  • @SelectPackages({"com.packageA", "com.packageB"})
  • @IncludePackages("包名")
  • @SelectClasses({xx.class, xxx.class, xxxx.class})
  • @IncludeTags("production")
  • @ExcludeTags("PROD")

你可能感兴趣的:(33 - JUnit5 单元测试框架)