美文网首页
Junit5测试框架

Junit5测试框架

作者: 羋学僧 | 来源:发表于2022-08-23 11:48 被阅读0次

    Junit5测试框架

    一、Junit5框架构成

    与以前的 JUnit 版本不同,JUnit 5 由来自三个不同子项目的几个不同模块组成。

    JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage

    • JUnit 平台是在 JVM 上启动测试框架的基础。它还定义了[TestEngine](https://junit.org/junit5/docs/current/api/org.junit.platform.engine/org/junit/platform/engine/TestEngine.html)用于开发在平台上运行的测试框架的 API。此外,该平台还提供了一个 控制台启动器,用于从命令行启动平台,并提供JUnit 平台套件引擎,用于使用平台上的一个或多个测试引擎运行自定义测试套件。流行的 IDE(参见IntelliJ IDEAEclipseNetBeansVisual Studio Code)和构建工具(参见GradleMaven)。

    • JUnit Jupiter是用于在 JUnit 5 中编写测试和扩展的编程模型扩展模型的组合。Jupiter 子项目提供了一个TestEngine用于在平台上运行基于 Jupiter 的测试。

    • JUnit Vintage提供了一个TestEngine用于在平台上运行基于 JUnit 3 和 JUnit 4 的测试。它要求 JUnit -

    • 备注:JUnit 5 对 Java 运行环境的最低要求是 Java 8

    二、Junit5新特性

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

    三、Junit5注解

    用户手册

    junit5与junit4的注解比较

    junit5 junit4 说明
    @Test @Test 被注解的方法是一个测试方法。与junit4相同
    @BeforeAll @BeforeClass 被注解的(静态)方法将在当前类的所有@Test方法前执行一次
    @BeforeEach @Before 被注解的方法将在当前类的每个@Test方法前执行
    @AfterEach @After 被注解的方法将在当前类的每个@Test方法后执行
    @AfterAll @AfterClass 被注解的(静态)方法将在当前类的所有@Test方法后执行一次
    @Disable @Ignore 被注解的方法不会执行(跳过),但会报告已执行

    常用注解

    注解 说明
    @Test 表名是一个测试方法
    @DisplayName 测试类或方法的显示名称
    @BeforeEach 表明在单个测试方法运行之前执行的测试方法
    @AfterEach 表明在单个测试方法运行之后执行的测试方法
    @BeforeAll 表明在所有测试方法运行之前执行的测试方法
    @AfterAll 表明在所有测试方法运行之后执行的测试方法
    @Disabled 禁用测试类或方法
    @Tag 为测试类或方法加标签
    @RepeatedTest 额外重复执行
    @Nested 嵌套测试

    Junit5 套件执行注解

    注解 作用
    @RunWith(JUnitPlatform.class) 执行套件
    @SelectPackages({"packageA","packageB"}) 创建测试套件
    @SelectClasses({a.class,b.class,c.class}) 创建测试套件
    @IncludePackages("PackageName") 过滤需要执行的测试包
    @ExcludePackages("PackageName") 过滤不需要执行的测试包
    @IncludeClassNamePatterns 过滤需要执行的测试类
    @ExcludeClassNamePatterns 过滤不需要执行的测试类
    @IncludeTags("sit") 过滤需要执行的测试方法
    @ExcludeTags("prod") 过滤不需要执行的测试方法

    相关文章

      网友评论

          本文标题:Junit5测试框架

          本文链接:https://www.haomeiwen.com/subject/bvqggrtx.html