SpringBoot 2.X 整合 JUnit5 及全方位使用手册

这篇具有很好参考价值的文章主要介绍了SpringBoot 2.X 整合 JUnit5 及全方位使用手册。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SpringBoot 从 2.4.X 开始默认使用 JUnit5 做单元测试

导入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>

注解说明

注解 使用位置 说明
@SpringBootTest 标注类 启用 SpringBoot 作为测试核心(可以使用Spring的功能)
@Test 标注方法 表示要测试的方法
@DisplayName 标注类 为此测试类命名
@BeforeEach 标注方法 在每个单元测试之前执行
@AfterEach 标注方法 在每个单元测试之后执行
@BeforeAll 标注方法 在所有单元测试之前执行(标注静态方法)
@AfterAll 标注方法 在所有单元测试之后执行(标注静态方法)
@Disabled 标注类或方法 禁用此类或方法
@Timeout 标注方法 设置此方法执行超时时间
@RepeatedTest 标注方法 重复执行次数
@ParameterizedTest 标注方法 参数化测试
@ValueSource 标注方法 参数化测试 提供一个包含值的入参
@NullSource 标注方法 参数化测试 提供一个 null 的入参
@EnumSource 标注方法 参数化测试 提供一个枚举入参
@CsvFileSource 标注方法 参数化测试 提供一个 csv 文件入参
@MethodSource 标注方法 参数化测试 提供一个方法的返回值入参(方法返回值必须为 Stream<T> )
@Tag 标注类或方法 测试类别 需搭配 maven 插件使用
@ExtendWith 标注类或方法 为测试类或方法提供扩展类引用

使用 @SpringBootTest @Test @DisplayName

springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试

使用 @BeforeAll 在 Spring 之前执行

springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试
springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试

使用 @BeforeEach @AfterEach 在 test 方法前后执行

springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试

使用 @AfterAll 所有方法全完成 Spring 关闭之前执行

springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试

使用 @Disabled

springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试
springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试

使用 @Timeout

springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试

使用 @RepeatedTest

springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试

使用 @ParameterizedTest

使用 @ValueSource

springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试

使用 @NullSource

springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试

使用 @EnumSource

springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试

使用 @MethodSource

springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试

使用 @Tag 此注解需搭配 maven 插件使用

            <!-- 单元测试使用 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.2</version>
                <configuration>
                	<!-- 解决运行乱码问题 -->
                	<argLine>-Dfile.encoding=UTF-8</argLine>
                    <!-- include tags -->
                    <groups>dev, local, prod</groups>
                    <!-- exclude tags -->
                    <excludedGroups>exclude</excludedGroups>
                </configuration>
            </plugin>

springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试
引入 local 标签排除 exclude 标签
springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试

springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试

使用 @ExtendWith 参考 @SpringBootTest 注解源码

springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试

断言说明

方法 说明
assertEquals 判断两个对象或两个原始类型是否相等
assertNotEquals 判断两个对象或两个原始类型是否不相等
assertSame 判断两个对象引用是否指向同一个对象
assertNotSame 判断两个对象引用是否指向不同的对象
assertTrue 判断给定的布尔值是否为 true
assertFalse 判断给定的布尔值是否为 false
assertNull 判断给定的对象引用是否为 null
assertNotNull 判断给定的对象引用是否不为 null

测试 assertEquals assertNotEquals

springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试

测试 assertSame assertNotSame

springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试

测试 assertTrue assertFalse

springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试

测试 assertNull assertNotNull

springboot2.4添加测试类junit5.x,springboot经验总结,java,spring boot,junit5,单元测试文章来源地址https://www.toymoban.com/news/detail-793258.html

到了这里,关于SpringBoot 2.X 整合 JUnit5 及全方位使用手册的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java——线程睡眠全方位解析

    在 Java 中,让线程休眠的方法有很多,这些方法大致可以分为两类,一类是设置时间,在一段时间后自动唤醒,而另一个类是提供了一对休眠和唤醒的方法,在线程休眠之后,可以在任意时间对线程进行唤醒。 线程睡眠的方法有以下 5 个: Thread.sleep TimeUnit wait Condition LockSu

    2024年02月04日
    浏览(58)
  • 精彩解读:短链接应用全方位探究

    1. 短链接的定义和原理 短链接是一种将长网址转换为短网址的服务,通过简化网址长度,方便用户分享和传播链接。短链接服务通过将长网址映射到短标识符的方式,实现对原始网址的压缩和简化。用户在访问短链接时,系统会将短链接还原为原始长网址,实现跳转到目标网

    2024年04月08日
    浏览(48)
  • kafka知识点全方位讲解

    Apache Kafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消息系统项目。 Kafka最初是由LinkedIn开发,并于2011年初开源。2012年10月从Apache Incubator毕业。该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。 Kafka是一个分布式消息队列:

    2023年04月25日
    浏览(44)
  • ⛳前端进阶:SEO 全方位解决方案

    SEO 代表搜寻引擎最佳化/搜寻引擎优化(英文全名Search Engine Optimization,简称SEO),是指通过了解搜寻引擎的自然排名的算法逻辑,以提高目标网站在有关搜寻引擎内排名的方式。 网站的 SEO 至关重要,它可以让你的网站获得更好的排名和流量,从而提高网站知名度。对于一些盈

    2024年02月09日
    浏览(51)
  • 全方位了解VR全景展示与制作

    引言: 虚拟现实(VR)技术正在以惊人的速度改变我们的生活方式和体验方式。其中,VR全景展示与制作作为虚拟现实的重要应用之一,为用户提供了身临其境的视听体验。  一、了解VR全景展示与制作 1.VR全景展示 VR全景展示是一种通过虚拟现实技术,将用户带入真实或虚构

    2024年02月13日
    浏览(39)
  • Android Jetpack组件的全方位分析

    Jetpack是一个用于简化Android应用程序开发的工具包,包含了一系列的组件和工具。Jetpack包含了很多组件,如LiveData、ViewModel、Room、Data Binding、Navigation等。 Jetpack组件是一种更高级别的抽象,它们可以提供更简洁、更易于使用的API。支持库是Jetpack组件的底层实现。 基本概念和

    2024年02月11日
    浏览(43)
  • SQL全方位攻略:3.SQL标准

    1.数据库介绍 2.SQL介绍 【免责声明】文章仅供学习交流,观点代表个人,与任何公司无关。 编辑|SQL和数据库技术(ID:SQLplusDB) 为了确保不同厂商数据库系统之间的兼容性和互操作性,用于控制SQL查询的行为和数据存储结构等方面的统一性,由国际组织或者国家标准化组织制定

    2024年02月05日
    浏览(47)
  • 【全方位解析】如何写好技术文章

    前言 为何而写 技术成长 :相对于庞大的计算机领域的知识体系,人的记忆还是太有限了,而且随着年龄的增大,记忆同样也会逐渐衰退,正如俗话所说“好记性不如烂笔头”。并且在分享博客的过程中,我们也可以和大神交流,进而发现自己的认知错误,纠正知识体系。最

    2024年02月16日
    浏览(50)
  • 全方位对比 Postgres 和 MongoDB (2023 版)

    本文为「数据库全方位对比系列」第二篇,该系列的首部作品为「全方位对比 Postgres 和 MySQL (2023 版)」 根据 2023 年 Stack Overflow 调研,Postgres 已经成为最受欢迎和渴望的数据库了。 MongoDB 曾连续 4 年 (2017 - 2020) 蝉联此头衔。根据 DB-Engines 排名,Postgres 和 MongoDB 都是排名前 5 的

    2024年02月15日
    浏览(59)
  • 全方位对比 Postgres 和 MySQL(2023 版)

    根据 2023 年的 Stack Overflow 调研 (https://survey.stackoverflow.co/2023/) ,Postgres 已经取代 MySQL 成为最受敬仰和渴望 (the most admired, desired) 的数据库。     随着 Postgres 的发展势头愈发强劲,在 Postgres 和 MySQL 之间做选择变得更难了。   如果看安装数量,MySQL 可能仍是全球最大的开源数

    2024年02月13日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包