聊聊SpringBoot单元测试

之前把我的mall项目升级到Spring Boot 2.7的时候,很多之前的测试方法都不能用了,原来是Spring Boot Test已经升级支持JUnit 5了。今天我们来聊聊新版Spring Boot Test的使用,有了它,我们就不需要再使用main方法来测试了!

JUnit 简介

JUnit是一款Java语言的单元测试框架,目前大多数Java开发环境都已经支持它了。JUnit测试也就是所谓的白盒测试,在程序员知道程序内部逻辑的基础上进行的测试,使用JUnit能让我们快速地完成单元测试。Spring Boot Test将JUnit和其他测试框架结合起来,提供了便捷高效的测试手段,目前Spring Boot 2.7版本采用的是JUnit 5。

常用注解

在使用Spring Boot Test之前,我们先来了解下它常用的注解,这对使用它很有帮助,具体参考下表即可!

注解 作用
@SpringBootTest 用于指定测试类启用Spring Boot Test,默认会提供Mock环境
@ExtendWith 如果只想启用Spring环境进行简单测试,不想启用Spring Boot环境,可以配置扩展为:SpringExtension
@Test 指定方法为测试方法
@TestMethodOrder 用于配置测试类中方法的执行顺序策略,配置为OrderAnnotation时,按@Order顺序执行
@Order 用于配置方法的执行顺序,数字越低执行顺序越高
@DisplayName 用于指定测试类和测试方法的别名
@BeforeAll 在测试类的所有测试方法前执行一次,可用于全局初始化
@AfterAll 在测试类的所有测试方法后执行一次,可用于全局销毁资源
@BeforeEach 在测试类的每个测试方法前都执行一次
@AfterEach 在测试类的每个测试方法后都执行一次
@Disabled 禁用测试方法
@RepeatedTest 指定测试方法重复执行
@ParameterizedTest 指定参数化测试方法,类似重复执行,从@ValueSource中获取参数
@ValueSource 用于参数化测试指定参数
@AutoConfigureMockMvc 启用MockMvc的自动配置,可用于测试接口

基本使用

下面我们来聊聊这些注解的基本使用,通过它们可以实现一些基本的单元测试。

集成Spring Boot Test

如果你想在项目中集成Spring Boot Test的话,需要先在pom.xml中添加如下依赖。

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

最简单的测试

  • 我们先来一个最简单的单元测试,使用@SpringBootTest注解启用单元测试,使用@Test指定测试方法,使用Assertions类的方法来断言结果是否符合预期,具体代码如下。

/**
 * JUnit基本测试
 * Created by macro on 2022/10/11.
 */
@SpringBootTest
public class FirstTest {
    @Test
    public void test() {
        int a=1;
        Assertions.ass
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值