JUnit 5学习记录

本文是作者学习JUnit 5的笔记,重点介绍了JUnit 5的注解,包括元注释和组合注释的概念,测试类和方法的定义,显示名称的自定义以及如何通过DisplayNameGenerator设置默认显示名称。同时,文章提到了测试的条件执行,如基于操作系统的条件、Java运行时环境条件和系统属性条件。
摘要由CSDN通过智能技术生成

该文章用于自我学习,观看JUnit 5手册的学习记录,在这吐槽一句**笔记的代码段显示可太难看了。

注:优先记录一些使用相关的概念

一、注解

JUnit 5的类运行时,会显示类名和方法名,以及注解内需要显示的内容,会以下图形式显示**(TODO:之后会截运行截图补充)**:

1.1 注解列表

注解 描述 继承
@Test 表明该方法是测试。此注释不声明任何属性。 继承
@ParameterizedTest 表明该方法是参数化测试 继承
@RepeatedTest 表明该方法是重复测试的测试模板 继承
@TestFactory 表明该方法是用于动态测试的测试工厂 继承
@TestTemplate 表明该方法是测试用例的模板,根据注册提供者(registered providers)所返回的调用上下文数量,来决定调用次数。 可继承
@TestMethodOrder 用于为带注释的测试类配置测试方法的执行顺序 继承
@TestInstance 用于为带注释的测试类配置测试实例生命周期 继承
@DisplayName 声明测试类或测试方法自定义显示名称 不可继承
@DisplayNameGeneration 声明测试类自定义显示名称生成器 继承
@BeforeEach 表明该注释方法在每个测试方法之前执行 继承
@BeforeAll 表明该注释方法在所有测试方法之前执行 继承
@AfterEach 表明该注释方法在每个测试方法之后执行 继承
@AfterAll 表明该注释方法在所有测试方法之后执行 继承
@Nested 表明该注释类是一个非静态的嵌套测试类,**@BeforeAll 和 @AfterAll 不能直接被用于该类,除非使用了"per-class"test instance lifecycle 不可继承
@Tag 用于在类或方法上声明用于过滤测试的标签 在类上可继承,在方法上不可继承
@Disabled 用于禁用测试类或测试方法 不可继承
@Timeout 如果超过给定的持续时间,则使test, test factory, test template, or lifecycle method失效 继承
@ExtendWith 用于声明性的注册扩展名 继承
@RegisterExtension 用于通过字段以编程的方式注册扩展 继承
@TempDir 用于通过生命周期方法或测试方法中的字段注入或参数注入来提供临时目录 不明

1.1.1 元注释和组合注释

Junit 5是支持自定义自己的组合注释,即多种注释的集合,一般这种集合被称为元注释,新注释将自动继承元注释的语义。

例如:若想在多处使用@Tag(“fast”),通过如下代码即可创建自定义的组合注释,将其命名为@Fast。

(TODO:其中包含未明白的注释)

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.junit.jupiter.api.Tag;

//此处的Target和Retention不明白其用途,待日后补充
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Tag("fast")
public @interface Fast {
}

通过上述代码的定义,之后即可使用@Fast的方式,来代替元注释。


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值