场景:
在类中注入DAO接口,如Mapper,实际是一个代理接口,单元测试的时候模拟SQL语句返回结果。
解决方法:
在接口注入属性上添加@Setter注释,或者Setter方法,
单元测试类使用@InjectMocks和@Mock注解
@InjectMocks注解,注入Service类
@Mock注解,需要mock的接口
注意:
如果TestService中有多个属性,但是只想mock其中部分接口,比如
只想mock TestMapper类,其他TestMapper2和TestMapper3仍然使用实际的接口
则需要在测试类的Service注入属性上加@Resource或者@Autowired注解即可