目录

  • 目录
  • Junit5 注解
    • @Test
    • @ParameterizedTest
    • @RepeatedTest
    • @TestFactory
    • @TestInstance
    • @TestTemplate
    • @DisplayName
    • @BeforeEach
    • @AfterEach
    • @BeforeAll
    • @AfterAll
    • @Nested
    • @Tag
    • @Disabled
    • @ExtendWith
  • 元注释,注释
  • 系列导航

Junit5 注解

所有支持的注解都在包 org.junit.jupiter.api 下;

使用@Test、@TestTemplate、@RepeatedTest、@BeforeAll、@AfterAll、@BeforeEach或@AfterEach注释的方法不能返回值

@Test

表示方法是测试方法。与JUnit 4的@Test注释不同,这个注释不声明任何属性,因为JUnit Jupiter中的测试扩展基于它们自己的专用注释进行操作。
这些方法是继承的,除非它们被重写。

@ParameterizedTest

表示方法是参数化测试。这些方法是继承的,除非它们被重写。

@RepeatedTest

表示方法是重复测试的测试模板。这些方法是继承的,除非它们被重写。

@TestFactory

表示方法是动态测试的测试工厂。这些方法是继承的,除非它们被重写。

@TestInstance

用于为带注释的测试类配置测试实例生命周期。这些方法是继承的,除非它们被重写。

@TestTemplate

表示方法是为测试用例设计的模板,根据注册提供程序返回的调用上下文的数量进行多次调用。这些方法是继承的,除非它们被重写。

@DisplayName

声明测试类或测试方法的自定义显示名称。这样的注解不是继承来的

@BeforeEach

表示在当前类中每个@Test、@RepeatedTest、@ParameterizedTest或@TestFactory方法之前执行注释的方法;类似于JUnit 4的@Before。

这些方法是继承的,除非它们被重写。

@AfterEach

表示在当前类中的每个@Test、@RepeatedTest、@ParameterizedTest或@TestFactory方法之后,都应该执行带注释的方法;类似于JUnit 4的@After。

这些方法是继承的,除非它们被重写。

@BeforeAll

表示应在当前类中的所有@Test、@RepeatedTest、@ParameterizedTest和@TestFactory方法之前执行带注释的方法;类似于JUnit 4的@BeforeClass。

这些方法是继承的(除非它们被隐藏或覆盖),并且必须是静态的(除非使用“每个类”测试实例生命周期)。

@AfterAll

表示在当前类中,所有@Test、@RepeatedTest、@ParameterizedTest和@TestFactory方法都应该执行注释的方法;类似于JUnit 4的@AfterClass。

这些方法是继承的(除非它们被隐藏或覆盖),并且必须是静态的(除非使用“每个类”测试实例生命周期)。

@Nested

表示带注释的类是一个嵌套的、非静态的测试类。@BeforeAll和@AfterAll方法不能直接在 @Nested 测试类中使用,除非使用“每个类”测试实例生命周期。

这样的注解不是继承来的。

@Tag

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

此类注释在类级别继承,但在方法级别继承。

@Disabled

用于禁用测试类或测试方法;类似于JUnit 4的@Ignore。

这样的注解不是继承来的。

@ExtendWith

用于注册自定义扩展。这些注释是继承。

元注释,注释

JUnit Jupiter注解可以用作元注解。这意味着您可以定义自己的组合注释,它将自动继承其元注释的语义。

例如,您可以创建一个名为 @Fast 的自定义组合注释,
如下所示,而不是在整个代码库中复制和粘贴@Tag(“fast”)(请参阅标记和过滤)。然后可以使用@Fast作为@Tag(“fast”)的drop-in替代。

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({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Tag("fast")
public @interface Fast {}

系列导航

系列导航

junit5 入门系列教程-02-junit5 注解详解相关推荐

  1. Cubemx与HAL库系列教程|系统时钟配置详解及源码分析

    STM32时钟系统简介 STM32种类繁多,时钟系统也不尽相同,但基本的还是大差不差,今日小飞哥就F1系列的MCU简单聊一聊STM32的时钟系统 1.时钟种类介绍: 先来看一看时钟树图,包含了整个系统 ...

  2. junit5 入门系列教程-17-junit5 动态测试(DynamicTest)

    目录 目录 动态测试 生命周期 测试案例 系列导航 动态测试 在标注中描述的JUnit Jupiter中的标准@Test注释与JUnit 4中的@Test注释非常相似.两者都描述了实现测试用例的方法. ...

  3. 2.lombok系列2:lombok注解详解

    转自:https://www.imooc.com/article/18157 开篇 看到第一篇<初识lombok>你可能意犹未尽,本文我们按照场景来介绍一下常用的注解. 未特别说明,均标注 ...

  4. [js高手之路] es6系列教程 - 迭代器与生成器详解

    什么是迭代器? 迭代器是一种特殊对象,这种对象具有以下特点: 1,所有对象都有一个next方法 2,每次调用next方法,都会返回一个对象,该对象包含两个属性,一个是value, 表示下一个将要返回的 ...

  5. 手把手教你入门 Git 教程,图文实例详解

    前言 Git简介 实用主义 深入探索 总结 参考资料 Git简介 Git 是一种分布式版本控制系统,它可以不受网络连接的限制,加上其它众多优点,目前已经成为程序开发人员做项目版本管理时的首选,非开发人 ...

  6. 全网最详系列教程-nacos配置中心详解-NameSpace、Group、DataID

    特别喜欢李白的一句诗:俱怀逸兴壮思飞,欲上青天揽明月.其表达了对光明世界的执着追求.我亦身为三等码农,也向往着能够改变世界. 文章目录 1.命名空间.分组.DataID三者之间的关系 2.DataID ...

  7. Spring Boot系列教程四:配置文件详解properties

    一.配置随机数,使用随机数 在application.properties文件添加配置信息 [html] view plaincopy #32位随机数 woniu.secret=${random.va ...

  8. java死信队列_Spring Boot系列教程之死信队列详解

    前言 在说死信队列之前,我们先介绍下为什么需要用死信队列. 如果想直接了解死信对接,直接跳入下文的"死信队列"部分即可. ack机制和requeue-rejected属性 在项目s ...

  9. nightwatch系列教程05——Nightwatch配置详解

    本章内容翻译自http://nightwatchjs.org/gettingstarted#settings-file. 测试运行接收一个配置文件作为参数,默认是当前目录下的 nightwatch.j ...

最新文章

  1. statpot:使用mongo+bootstrap+highcharts做统计报表
  2. 统计计量 | 协方差和相关系数的暧昧关系:共性与个性
  3. 什么?iPhone 8发布会当晚,杭州竟然有土豪摔手机砸场子!
  4. 每日一皮:前程序员离职后没人想接的代码...
  5. 初识python教学反思_[python第一课]初识python
  6. Linux下源码安装CodeBlocks
  7. KMPLAYER无法播放rmvb格式的解决办法
  8. 阿里NIPS 2017论文解读:如何降低TensorFlow训练的显存消耗?
  9. [React] 尚硅谷 -- 学习笔记(七)
  10. elementui上传图片加参数_Vue + Element UI使用富文本编辑器
  11. 【数学】十万个为什么(一) —— 为什么乘法会分为左乘和右乘,除法会分为左除和右除?
  12. c语言程序答设计答案张文祥,c语言程序设计答案张文祥
  13. Win10 台式机机箱前置耳机插孔没声音如何修复
  14. 指数函数 java_计算指数函数的算法
  15. 跨境电商独立站海外引流渠道:Quora运营技巧
  16. 入行3D建模需不需要美术绘画?不看吃亏的是你!
  17. HTML:如何设置网页标题上的图标
  18. C语言实现二叉排序树
  19. 实现一个Android锁屏App的难点总结 1
  20. android项目实战 博学谷 代码,《Android项目实战-博学谷》登录注册

热门文章

  1. 青岛高新职业学校计算机专业,青岛高新职业学校
  2. 前端需要总结的知识点(仅用于自己学习)
  3. 常用函数sizeof()
  4. Chrome浏览器无法打开特定的网页
  5. 软件构造1:正则表达式
  6. QWT下载、安装、配置教程
  7. vue使用aliplay避雷篇
  8. 机器学习 -- 信用卡评分模型 -- 互联网金融风控
  9. .cfi_* 汇编指示符
  10. Layui各种样式弹出框