SpringBoot单元测试详解(看这篇就够了)

SpringBoot单元测试详解(看这篇就够了)-mikechen

SpringBoot单元测试是Spring开发经常使用到的,下面我就来详解SpringBoot单元测试的使用@mikechen

什么是单元测试

单元测试是一种软件测试方法,用于测试程序中的最小可测试单元,通常是一个函数或一个方法,以确保其功能正确并符合预期。

 

SpringBoot单元测试

1.引入单元测试依赖

Spring Boot 项目创建时会默认单元测试框架 spring-boot-test,如下图所示:

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

这个单元测试框架主要是依靠另一个著名的测试框架 JUnit 实现,这里面已经集成了JUnit来实现SpringBoot单元测试。

 

2.创建测试类

一般是在 src/test/java 目录下创建测试类,该类通常以 *Test 或 *Tests 命名。

如下所示:

import org.junit.Test;
import static org.junit.Assert.*;

public class CalculatorTests {

    @Test
    public void testAddition() {
        Calculator calculator = new Calculator();
        int result = calculator.add(2, 3);
        assertEquals(5, result);
    }

    @Test
    public void testSubtraction() {
        Calculator calculator = new Calculator();
        int result = calculator.subtract(5, 2);
        assertEquals(3, result);
    }
}

@Test 是 JUnit 框架提供的注解,用于标记测试方法。

在测试方法中,通常使用断言方法来验证结果是否符合预期,如下所示:

@SpringBootTest
public class UserServiceTests {

    @Autowired
    private UserService userService;

    @MockBean
    private UserRepository userRepository;

    @Test
    public void testAddUser() {
        User user = new User();
        user.setName("张三");
        user.setAge(18);
        userService.addUser(user);
        assertEquals(1, userRepository.count());
    }
}

上面的@AssertEquals 用于验证两个值是否相等,除此之外还可以使用:

  • @AssertEquals :用于验证两个值是否相等;
  • @AssertFalse :用于验证一个条件是否为 false;
  • @AssertNotEquals: 用于验证两个值是否不相等;
  • @AssertNotEquals :用于验证两个值是否不相等;
  • @AssertNotNull: 用于验证一个值是否不为 null。

3.运行测试

在测试类上点击右键,选择 Run As -> JUnit Test,就可以运行测试类了。

以上就是SpringBoot单元测试详解,更多内容请查看:SpringBoot框架(万字图文全面详解)

作者简介

陈睿|mikechen,10年+大厂架构经验,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

👇阅读mikechen更多原创技术文章👇

阿里架构 |双11秒杀 |微服务 |云原生 |Docker |K8S |Kafka |分布式架构 |高并发架构

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

评论交流
    说说你的看法