SpringBoot单元测试

目录

1.什么是单元测试?

2.单元测试有哪些好处?

[3.Spring Boot单元测试使⽤](#3.Spring Boot单元测试使⽤)

单元测试的实现步骤

[1. ⽣成单元测试类](#1. ⽣成单元测试类)

[2. 添加单元测试代码](#2. 添加单元测试代码)

[2.1 .添加Spring Boot框架测试注解:@SpringBootTest](#2.1 .添加Spring Boot框架测试注解:@SpringBootTest)

[2.2 添加单元测试业务逻辑](#2.2 添加单元测试业务逻辑)

简单的断⾔说明


1.什么是单元测试?

单元测试(unit testing),是指对软件中的最⼩可测试单元 进⾏检查验证的过程就叫单元测试。

单元测试是开发者编写的⼀⼩段代码,⽤于检验被测代码的⼀个很⼩的、很明确的(代码)功能是否正确。执⾏单元测试就是为了证明某段代码的执⾏结果是否符合我们的预期。如果测试结果符合我们的预期,称之为测试通过,否则就是测试未通过(或者叫测试失败)。

2.单元测试有哪些好处?

  • 1、可以⾮常简单、直观、快速的测试某⼀个功能是否正确。
  • 2、使⽤单元测试可以帮我们在打包的时候,发现⼀些问题,因为在打包之前,所以的单元测试必须通过,否则不能打包成功。
  • 3、使⽤单元测试,在测试功能的时候,可以不污染连接的数据库,也就是可以不对数据库进⾏任何改变的情况下,测试功能。

3.Spring Boot单元测试使⽤

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

java 复制代码
<dependency>
 <groupId>org.mybatis.spring.boot</groupId>
 <artifactId>mybatis-spring-boot-starter</artifactId>
 <version>2.3.0</version>
</dependency>

⽽spring-boot-starter-test 的 MANIFEST.MF(Manifest ⽂件是⽤来定义扩展或档案打包的相关信息
的)⾥⾯有具体的说明,如下信息所示:

单元测试的实现步骤

1. ⽣成单元测试类

最终生成的代码:

java 复制代码
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class UserMapperTest {
@Test 
void selectAll() {
   }
 }

这个时候,此⽅法是不能调⽤到任何单元测试的⽅法的,此类只⽣成了单元测试的框架类,具体的业务代码要⾃⼰填充。

2. 添加单元测试代码

2.1 .添加Spring Boot框架测试注解:@SpringBootTest

2.2 添加单元测试业务逻辑

java 复制代码
import com.example.demo.model.UserInfo;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
import static org.junit.jupiter.api.Assertions.*;
@SpringBootTest
 class UserMapperTest {
 @Autowired
 private UserMapper userMapper;
 @Test
 void selectAll() {
 List<UserInfo> userInfoList = userMapper.selectAll();
 userInfoList.forEach(userInfo-> System.out.println(userInfo));
 }
 }

简单的断⾔说明

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

相关推荐
守护者1707 分钟前
JAVA学习-练习试用Java实现“使用Arrays.toString方法将数组转换为字符串并打印出来”
java·学习
源码哥_博纳软云9 分钟前
JAVA同城服务场馆门店预约系统支持H5小程序APP源码
java·开发语言·微信小程序·小程序·微信公众平台
禾高网络11 分钟前
租赁小程序成品|租赁系统搭建核心功能
java·人工智能·小程序
学会沉淀。17 分钟前
Docker学习
java·开发语言·学习
如若12318 分钟前
对文件内的文件名生成目录,方便查阅
java·前端·python
初晴~1 小时前
【Redis分布式锁】高并发场景下秒杀业务的实现思路(集群模式)
java·数据库·redis·分布式·后端·spring·
黑胡子大叔的小屋2 小时前
基于springboot的海洋知识服务平台的设计与实现
java·spring boot·毕业设计
ThisIsClark2 小时前
【后端面试总结】深入解析进程和线程的区别
java·jvm·面试
计算机毕设孵化场2 小时前
计算机毕设-基于springboot的校园社交平台的设计与实现(附源码+lw+ppt+开题报告)
spring boot·课程设计·计算机毕设论文·计算机毕设ppt·计算机毕业设计选题推荐·计算机选题推荐·校园社交平台
雷神乐乐2 小时前
Spring学习(一)——Sping-XML
java·学习·spring