spring boot单元测试mock代理接口

场景:

在类中注入DAO接口,如Mapper,实际是一个代理接口,单元测试的时候模拟SQL语句返回结果。

解决方法:

在接口注入属性上添加@Setter注释,或者Setter方法,

Service类

单元测试类使用@InjectMocks和@Mock注解

@InjectMocks注解,注入Service类

@Mock注解,需要mock的接口

测试类

注意:

如果TestService中有多个属性,但是只想mock其中部分接口,比如

多个注入属性Service

只想mock TestMapper类,其他TestMapper2和TestMapper3仍然使用实际的接口

则需要在测试类的Service注入属性上加@Resource或者@Autowired注解即可

只mockTestMapper一个接口
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容