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一个接口

你可能感兴趣的:(spring boot单元测试mock代理接口)