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」公众号,获取更多技术干货!
![](https://static.mikechen.cc/wp-content/uploads/2023/04/mikechen-gzh.png)
后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》,后台回复【面试】即可获取《史上最全阿里Java面试题总结》