SpringBoot单元测试

138 阅读1分钟

单元测试许多时候不被重视,但是单元测试确实是减少初中期bug以及review代码的最有效手段之一。当前有许多开发同学对SpringBoot的测试有恐惧感,主要可能是由于1、冗长的启动时间;2、复杂的初始配置;3、繁琐的假数据生成;等因素造成的。本篇文章将慢慢加入一些SpringBoot+Junit5+Mockito的测试要点,免得同学们与自己一直踩在同一个坑里,同时也加强笔者自己的记忆。

@SpringBootTest(Classes = {UserServiceImpl.class},webEnviroment={SpringBootTest.WebEnvironment.RandomPort})
public class UserServiceTest{

    /** 这里将UserService类中用不到的依赖bean通过Mokito工具mock掉 **/
    @MockBean
    private UserRelyBean userRelyBean;

}

SpringBoot中的单元测试启动非常简单,在测试类上加上@SpringBootTest注释即可,这个注释可以配置一些参数:

  • WebEnvironment:这个参数可以让测试类知道当前的环境是测试环境,并可以设置添加随机端口;
  • Classes:这个参数告诉测试类需要测试的是哪几个类,用来减少测试项目的启动时间,同时明确测试类的范围;