springboot15:junit5的使用

news2024/9/22 11:41:05

1.测试平台Junit

  • springboot新版使用junit
    • 只需要标注一个注解@SpringBootTest
    • 然后方法中标注@Test即可
  • 以前springboot的使用
    • 比较困难
  • 现在整合使用后
    • 只需要编写测试方法@Test
    • 写测试的逻辑,整个类具有spring的功能,比如事务(测试完成后会自动回滚),自动装配等

2.测试常用注解

  • @DisplayName(测试名称)即会显示在控制台哪个测试方法
  • @BeforeEach每个测试方法之前运行的
    @BeforeAll 所有测试方法之前(直接类上运行,为静态方法)
  • @AfterEach 每个测试方法结束以后运行
    @AfterAll 所有测试方法之后(直接类上运行,为静态方法)
  • @DIsabled 直接类上运行时,此方法不执行
  • @TimeOut 声明此方法几毫秒后方法超时异常
  • @ExtendWith (复合注解)
  • @RepeatedTest(测试很多次)

3.测试重要注解

①断言(assertions)

  • 可以判断哪个测试没有通过(会有详细的测试报告,哪些方法成功,哪些方法因为什么失败)
    在这里插入图片描述
  • 断言代码(前面断言失败,后面都不会断言)
@Test
@DisplayName("simple assertion")
public void simple() {
     assertEquals(3, 1 + 2, "simple math");
     assertNotEquals(3, 1 + 1);

     assertNotSame(new Object(), new Object());
     Object obj = new Object();
     assertSame(obj, obj);

     assertFalse(1 > 2);
     assertTrue(1 < 2);

     assertNull(null);
     assertNotNull(new Object());
}
  • 组合断言
@Test
@DisplayName("assert all")
public void all() {
 assertAll("Math",
    () -> assertEquals(2, 1 + 1),
    () -> assertTrue(1 > 0)
 );
}

4.其他

① assumptions(前置条件)

  • 不满足前置条件,而是终止执行,而不是抛出失败
  • 示例(前置条件是跳过,而断言是错误)
 @Test
 @DisplayName("simple")
 public void simpleAssume() {
    assumeTrue(Objects.equals(this.environment, "DEV"));
    assumeFalse(() -> Objects.equals(this.environment, "PROD"));
 }

②嵌套测试

  • 嵌套测试情况下 外层Test不能驱动内层的全部Test运行
  • 内层的可以驱动外层的

③参数化测试

  • 测试
@ParameterizedTest
@ValueSource(strings = {"one", "two", "three"})
@DisplayName("参数化测试1")
public void parameterizedTest1(String string) {
    System.out.println(string);
    Assertions.assertTrue(StringUtils.isNotBlank(string));
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/12791.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

补盲激光雷达「PK」4D成像雷达,车企会作何选择?

关于4D成像雷达和激光雷达的争论&#xff0c;在此之前&#xff0c;两方势力之间还是有些克制。「谁也不是替代谁」&#xff0c;成了各方一致的看法。目标&#xff0c;也很一致&#xff0c;就是补齐摄像头的物理性能缺陷。 比如&#xff0c;与激光雷达相比&#xff0c;4D成像雷…

Python之第十一章 面向对象 --- 基础

目录 1.面向对象编程思想 1.编程思想 2.面向过程编程思想 3.面向对象编程思想 例 面向对象报名案例分析 面向过程与面向对象的区别 2.面向对象专业术语 1.组成 2.对象&#xff08;object&#xff09; 3.类&#xff1a; 1.引入类的原因 2.定义&#xff1a; 3.类的定…

2022HDC见闻与新技术学习体验分享

一、创新照见未来&#xff0c;共建鸿蒙世界&#xff0c;主题演讲笔记 以创新照见未来&#xff0c;共建鸿蒙世界为主题的第四界HDC大会于2022年11月4日在东莞松山湖线上与线下同时开启。本次大会展示了鸿蒙生态的最新成果与发展规划。第一天的主题演讲中&#xff0c;华为发布了解…

06-HTTPS单向认证及Java案例

一、单向认证流程 单向认证流程中&#xff0c;服务器端保存着公钥证书和私钥两个文件&#xff0c;整个握手过程如下&#xff1a; 客户端发起建立HTTPS连接请求&#xff0c;将SSL协议版本的信息发送给服务器端&#xff1b;服务器端将本机的公钥证书&#xff08;server.crt&am…

Windows - WINS Service

WINS SERVICE配置工作任务 安装及配置 WINS 服务; 配置为DCserver 为主WINS服务器。 WINS server - Windows server 更新 1-1 查看计算机名称 1-2 命令查看计算机名称: win+R---->>powerShell---->>命令nbtstat -n 1-3 查

《FFmpeg Basics》中文版-05-裁剪视频

正文 裁剪视频意味着从输入到输出中选择想要的矩形区域而没有余数。 裁剪通常用于调整大小&#xff0c;填充和其他编辑。 裁剪基础知识 较老的FFmpeg版本有cropbottom、cropleft、cropright和croptop选项&#xff0c;但现在已弃用&#xff0c;并使用下表中描述的裁剪操作。 …

微服务分布式开源架构是什么?

微服务分布式开源架构跟单体应用比起来有着较大的优势&#xff0c;可以解决单体系统的不足之处&#xff0c;满足日益增多的业务量需求。那么&#xff0c;微服务分布式开源架构是什么&#xff1f;什么软件服务商的微服务架构比较适合&#xff1f; 一、微服务分布式开源架构是什么…

nmap各种扫描的注意事项

1) nmap -sS 192.168.0.100 TCP的SYN扫描&#xff0c;也称为stealth扫描&#xff0c;扫描时&#xff0c;发送一个SYN包&#xff0c;等待SYN/ACK响应&#xff0c;当能够收到SYN/ACK响应时&#xff0c;就认为该端口是开放的。SYN扫描是一个速度极快而且结果又准的扫描&#xff0…

Linux 进程通信深剖

目录传统艺能&#x1f60e;进程间通信&#x1f914;通信方式&#x1f914;管道&#x1f914;匿名管道&#x1f914;pipe&#x1f914;匿名管道使用&#x1f914;读写规则&#x1f914;管道特点&#x1f914;同步与互斥&#x1f60b;管道生命周期&#x1f60b;流式服务&#x1f…

Nginx反向代理

代理概述 正向代理代理的对象是客户端&#xff0c;反向代理代理的是服务端&#xff0c;Nginx即可以实现正向代理&#xff0c;也可以实现反向代理。 正向代理 反向代理 正向代理案例 理论上Nginx可以支持正向代理上网&#xff0c;但是在实验中&#xff0c;域名访问有问题&am…

有奖报名|StarRocks 获开源热力值增速第一,有你的贡献

近日&#xff0c;由开放原子开源基金会、X-lab 开放实验室和阿里巴巴开源委员会联合出品的《2022 开源大数据热力报告》在云栖大会公布。StarRocks 荣登《2022开源大数据热力报告》Top 30&#xff0c;并作为数据查询与分析方向增速第一的项目受邀出席 11 月 17 日的线上圆桌讨论…

顺序表--C语言版(从0开始,超详细解析 ,小白一听就懂!!!)

目录 一、前言 &#x1f34e;什么是数据结构 &#x1f350;学习数据结构有什么用 二、顺序表概念 ------- &#xff08;线性表&#xff09; &#x1f349;什么是线性表 &#x1f353;顺序表概念详解 &#x1f4a6; 顺序表与数组的区别 三、顺序表详解 &#x1f34c;…

为数字化深水区“量身定制”,华为品质服务再迭代

作者 | 曾响铃 文 | 响铃说 因为工作数据没有及时更新、版本对不上&#xff0c;不得不带着文件和数据跑上跑下&#xff0c;与其他部门反复确认&#xff0c;拿回来最新的数据&#xff0c;才能开始安心工作——如果找不到人&#xff0c;工作就得等着&#xff0c;领导又在催&…

SpringBoot项目基础设施搭建

本文为《从零打造项目》系列第二篇文章&#xff0c;首发于个人网站。 《从零打造项目》系列文章 比MyBatis Generator更强大的代码生成器 SpringBoot项目基础设施搭建 前言 准确点说&#xff0c;这不是《从零打造项目》系列的第一篇文章&#xff0c;模版代码生成的那个项目讲解…

【非纯小白勿进】计算机的基本操作

计算机的基本操作 ​ 追看了前面文章&#xff0c;你就会对于计算机已经有了一个初步的认识&#xff0c;那么下面我们就要来使用计算机了。 计算机中只有文件和文件夹 ​ 计算机中&#xff0c;只有两样东西&#xff0c;文件和文件夹。 文件夹&#xff1a;本身不存储数据内容…

为什么用php的人越来越少了?

首先这张图反映的只是某个编程语言的热门程度。 以下代表个人观点: php这几年热度下降的原因: 1.存活时间长,在互联网技术日新月异的时代,一些更先进的技术会吸引一部分开发者 2.存活时间长,为了对历史版本作出一定的兼容,函数库的体积增大,一定程度上加大了程序员的负担 …

FRNet:Feature Reconstruction Network for RGB-D Indoor Scene Parsing实验补充

FRNet做了大量的消融实验&#xff0c;这里仔细来分析一下。 1&#xff1a;ResNet backbone&#xff1a; 作者消融实验使用了ResNet34作为backbone来提取特征&#xff0c;将最后一层的输出简单相加起来&#xff0c;然后通过不断的上采样获得最终的输出。并且只在最后一层进行监督…

FAM DBCO, 6-isomer,DBCO-羧基荧光素琥珀酰亚胺酯-6-异构体

产品名称&#xff1a;DBCO-羧基荧光素琥珀酰亚胺酯-6-异构体 英文名称&#xff1a;FAM DBCO, 6-isomer 荧光素 (FAM) 是荧光染料之一。FAM 的这种衍生物含有环辛炔基团&#xff08;二苯并环辛炔&#xff0c;缩写为 DBCO 或 ADIBO&#xff09;&#xff0c;用于通过无铜、应变促…

MyBatis 关联映射

文章目录一、关联映射概述二、一对一查询1.association 元素2.嵌套查询实例演示3.嵌套结果集实例演示三、一对多查询1.collection 元素2.嵌套结果集实例演示四、多对多查询1.嵌套查询实例演示2.嵌套结果集实例演示五、自动补全 get、set 方法一、关联映射概述 在此之前&#x…

飞瞳引擎™集装箱AI检测云服务,集装箱信息识别功能免费,全球顶尖AI高泛化性,正常集装箱识别率99.98%,全球2000企业用户

党的二十大报告指出&#xff0c;加快发展物联网&#xff0c;建设高效顺畅的流通体系&#xff0c;降低物流成本。空箱闸口智慧监管为青岛港提高集装箱运输物流效率提供了保障。飞瞳引擎™AI集装箱识别检测云服务&#xff0c;自动化识别检测集装箱信息大幅降低物流成本提升效率&a…