现在写单元测试的重要性不言而喻,下边说明一下Junit5测试的会用到的主要注解和方法。PS:常用开发工具都可以自动生成Junit测试类。
可参考【翻译】7种流行的单元测试命名约定 在项目种我选择的是should...when的写法,但需注意方法命名时不要过长,过长反而导致难于阅读和理解
Mockito库提供的注解;@Mock创建一个Mock对象,@InjectMocks创建一个实例,尝试将其它有@Mock或@Spy的对象注入到该实例中;@Spy默认会调用真实的方法,@Mock默认不执行
Spring Boot包装Mockito库提供的注解;@MockBean创建的对象默认会加入Spring的上下文中,如果Spring的上下文存在则替换;@MockBean和@SpyBean区别同@Mock和@Spy的区别
单元测试采用Given...When...Then的结构,即 准备数据,用mock模拟方法返回值 执行,调用测试方法 验证,用assert等验证方法返回结果
@MybatisPlusTest
只注入MybatisPlus相关Bean做单元测试,比较像@Mybatis注解,由mybatis-plus的3.4.0版本后的mybatis-plus-boot-starter-test模块提供。
可以在做数据库的单元测试时不使用@SpringBootTest注解启动整个工程
@WebMvcTest
同样用来做MVC层的单元测试,只注入MVC层相关的Bean
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。