当Mockito遭遇使用注解注入的变量

Posted MaXianZhe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当Mockito遭遇使用注解注入的变量相关的知识,希望对你有一定的参考价值。

转自 http://keeplearning.blog.51cto.com/6527662/1185751 感谢作者

PushMsgPostProcessorImpl是要测试的类,它有两个注解注入的类变量如下:

@Resource
 private IMsgToUserService msgToUserService;
 @Resource
 private IPushMsgTaskLogService pushMsgTaskLogService;

则测试类中可以使用下面的方法注入

@Mock
 private IMsgToUserService msgToUserService;
 @Mock
 private IPushMsgTaskLogService pushMsgTaskLogService;
 private IPushMsgPostProcessor pushMsgPostProcessor;
 @Before
 public void setup() {
  MockitoAnnotations.initMocks(this);
  pushMsgPostProcessor = new PushMsgPostProcessorImpl();
  ReflectionTestUtils.setField(pushMsgPostProcessor, "msgToUserService", msgToUserService);
  ReflectionTestUtils.setField(pushMsgPostProcessor, "pushMsgTaskLogService", pushMsgTaskLogService);
 }

以上是关于当Mockito遭遇使用注解注入的变量的主要内容,如果未能解决你的问题,请参考以下文章

Spring属性注入的注解

spring中无法使用 @Autowired注解注入静态变量的原因刨析

常见的三种注解注入方式对比

spring 注解

spring不用注入注解怎么接口所有实现类bean

Spring