对一个Java开发人员来说,单元测试是我们编码过程中不可或缺的一部分了。单元测试让你关注软件的基本单元的正确性,可以在编码阶段就提前暴露代码缺陷;单元测试具有执行速度快、可复用性的特点;单元测试可以让你进行代码重构时更加从容。所以越是核心的代码,进行单元测试越有必要。
很多人觉得单元测试很重要,但是很多人都做不好单元测试,尤其是在集成了spring框架的项目,很多人都不知道怎么方便快捷的进行单元测试。在集成了spring的项目中你是否有这样的困扰,每次执行一个test case你就必须等待spring容器加载环境长达十几秒,对于追求效率的你来说简直是个噩梦。下面我提出两种方法让你的单元测试更加方便。
使用spring-boot-test-starter做单元测试
spring-boot-test-starter集成了Junit5、Mockito、Spring Test等工具可以让你在spring的环境下非常方便的做单元测试,在spring环境下做测试你可以方便的使用依赖注入方式完成单元测试,更重要的是使用pring-boot-test-starter做单元测试只要你想,你可以只需要加载你感兴趣的一个或者几个java bean进spring容器直接开始测试而不需要将所有环境准备好,加载所有的bean。请看下面的例子:
@Service
public class Demo1{
public Boolean test(){
//do something
}
}
@Service
public class Demo{
@Autowired
private Demo1 demo1;
public Boolean doInvoke() {
//do something
}
}
@SpringBootTest(classes=Dem