当前位置: 首页 > news >正文

如何做SpringBoot单元测试?

前言

单元测试(unit testing),是指对项目中的最⼩可测试单元进⾏检查和验证的过程就叫单元测试,对于Java来说或者是在SpringBoot项目中,最小的可测试单元就是一个方法。做单元测试就是为了证明某段代码的执⾏结果是否符合我们的预期。

那么单元测试有哪些好处呢?

1、可以⾮常简单、直观、快速的测试某⼀个功能是否正确。

2、使⽤单元测试可以帮我们在打包的时候,发现⼀些问题,因为在打包之前,所以的单元测试必须通过,否则不能打包成功。

3、使⽤单元测试,在测试功能的时候,可以不污染连接的数据库,也就是可以不对数据库进⾏任何改变的情况下,测试功能。

那怎么来做单元测试呢?

Spring Boot 项⽬创建时会默认单元测试框架 spring-boot-test,⽽这个单元测试框架主要是依靠另⼀个著名的测试框架 JUnit 实现的,打开 pom.xml 就可以看到,以下信息是 Spring Boot 项⽬创建是⾃动添加的:

单元测试的实现步骤:

1.在要做测试的类中,右击,选择generate

2.选择test

3.选择要测试的方法

4.最终生成的测试代码

5.这个时候,此⽅法是不能调⽤到任何单元测试的⽅法的,此类只⽣成了单元测试的框架类,具体的业务代码要⾃⼰填充。添加 Spring Boot 框架测试注解:@SpringBootTest

6.添加单元测试业务逻辑

7.如果要测试插入、删除、新增数据到数据库的时候,想要不污染数据库,即不改动数据库里面的数据完成测试的话,可以在测试方法上添加注解@Transactional ,比如我需要做修改测试:

8.关于断言的说明(Assertions)

方法

说明

assertEquals

判断两个对象或两个原始类型是否相等

assertNotEquals

判断两个对象或两个原始类型是否不相等

assertSame

判断两个对象引用是否指向同一个对象

assertNotSame

判断两个对象引用是否指向不同的对象

assertTrue

判断给定的布尔值是否为true

assertFalse

判断给定的布尔值是否为 false

assertNull

判断给定的对象引用是否为null

assertNotNull

判断给定的对象引用是否不为null

如果断⾔失败,则后⾯的代码都不会执⾏。

9.开始测试

http://www.lryc.cn/news/35276.html

相关文章:

  • ZZULI训练: 数组和字符串专题
  • ElasticSearch如何解决深分页问题?
  • JDK8新特性宝典
  • 【C++】关于C++模板的分离编译问题
  • 小应用记账本-第2章-数据库设计
  • Spring Boot+Vue前后端分离项目练习06之网盘项目创建vue项目
  • Python - 单元测试
  • 特权级那些事儿-实模式下分段机制首次出现的原因
  • 详解Vue安装与配置(2023)
  • TypeScript深度剖析:Vue项目中应用TypeScript?
  • linux面试高级篇
  • java 4 (面向对象上)
  • HTTP报头的2个方法
  • yolov5双目检测车辆识别(2023年+单目+双目+python源码+毕业设计)
  • 华为OD机试题,用 Java 解【用户调度问题】问题
  • 根据mybatis plus注解动态创建sqlite表和表字段
  • 同步、异步ETL架构的比较
  • 【机会约束、鲁棒优化】具有排放感知型经济调度中机会约束和鲁棒优化研究【IEEE6节点、IEEE118节点算例】(Matlab代码实现)
  • 用Python帮老叔选出好基金,大赚一笔,老叔专门提着茅台登门道谢
  • ZeroTier实现内网穿透详细教程,无需公网IP,实现异地组网
  • 电商 SaaS 全渠道实时数据中台最佳实践
  • macos ncnn 安装踩坑记录···
  • ESP32设备驱动-AM2301(DHT21)温度湿度传感器驱动
  • [数据结构]:16-归并排序(顺序表指针实现形式)(C语言实现)
  • React(七):Router基本使用、嵌套路由、编程式导航、路由传参、懒加载
  • Java基础面试题(一)
  • 代码命名规范是一种责任也是一种精神(工匠精神)
  • 奇淫技巧:阅读源码时基于一组快捷键,让我们知道身在何方!
  • 你真的弄懂this指向了吗
  • 阿里云服务器使用教程:使用xshell、xFtp工具连接阿里云服务器(Centos7)并修改Centos7的yum源为阿里镜像源