单元测试是对程序中的某个函数、某个模块的功能进行测试的代码,一般是由开发在开发代码时写的,通过单元测试,能够将代码逻辑的bug尽早的暴露出来,在较小的粒度下保证代码的正确性。
不知道你有没有听说过测试驱动开发TDD:“Test-driven Development”,TDD将单元测试视为编码的第一步,首先完成一个单元测试的代码,由于功能代码的缺失,测试会失败,甚至编译都无法通过;然后开发功能代码,直到刚刚写的单元测试通过;接着再写下一个功能的测试代码,就这样反复迭代,直到完成编码。
我个人觉得TDD是一个很好的开发流程,能够保证单元测试的覆盖率,但是TDD在实际实践的过程中会发现难度比较大,我个人习惯是先写完功能逻辑,然后再写单元测试进行测试 : )
下面我为大家介绍一下在Spring Boot工程中如何编写单元测试,对我们写的功能代码进行测试。
Spring Boot Test配置
- Spring boot项目配置
首先在Spring boot的工程中加入spring-boot-starter-test的依赖,在spring boot 2.4之后,spring-boot-starter-test依赖Junit5,如果还想使用Junit4的话,可以为Junit4单独添加依赖
Maven pom.xml:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</