保姆级教程:Spring Boot 单元测试

本文详细介绍了Spring Boot单元测试,从单元测试的概念、作用,到MockMvc的使用,Service和Controller层的测试方法,再到断言的概念和新断言assertThat的运用,最后对比了Postman与单元测试的区别,并简述了Postman的基本用法。
摘要由CSDN通过智能技术生成

做积极的人,而不是积极废人
在这里插入图片描述

一、 单元测试的概念

概念:
单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。在Java中单元测试的最小单元是类。

单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。执行单元测试,就是为了证明这 段代码的行为和我们期望是否一致。

单元测试引用:
众所周知,通过spring initialize创建的Spring Boot项目会在Maven中自动携带很多starter依赖:
在这里插入图片描述

其中包含了一个名为 spring-boot-starter-test 的依赖,本文是围绕这个依赖展开。

Spring Boot中引入单元测试很简单,添加如下依赖(即 spring-boot-starter-test 依赖):

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

spring-boot-starter-test有如下几个库:
spring-boot-starter-test UML图:
在这里插入图片描述

二、单元测试的作用

在没有接触单元测试之前我们是怎么做测试的?一般有两个方法:

在这里插入图片描述

在时间允许的情况下,编写单元测试是程序员对代码的自测,这是对自己代码的负责。

**写单元测试的两个动机:**

保证或验证实现功能。

保护已经实现的功能不被破坏。

三、Spring Boot引入的MockMvc的概念

什么是Mock?

在面向对象的程序设计中,模拟对象(英语:mock object)是以可控的方式模拟真实对象行为的假对象。在编程过程中,通常通过模拟一些输入数据,来验证程序是否达到预期结果。

为什么使用Mock对象?

使用模拟对象,可以模拟复杂的、真实的对象行为。如果在单元测试中无法使用真实对象,可采用模拟对象进行替代。

MockMvc的概念

MockMvc是由spring-test包提供,实现了对Http请求的模拟,能够直接使用网络的形式,转换到Controller的调用,使得测试速度快、不依赖网络环境。同时提供了一套验证的工具,结果的验证十分方便。

接口MockMvcBuilder,提供一个唯一的build方法,用来构造MockMvc。主要有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值