2013-06-25 57 views
0

我在单元测试中使用SpringJUnit4ClassRunner,并且测试可以正确访问自动布线bean(模拟服务)。在JUnit测试中使用@Autowired

它如何测试一个工作,也谈到服务。这项工作也有自动装配的bean。

可悲的是,在测试中的“新的Job().execute(...)”调用中,Job内部的自动挂接服务为空。

任何人都可以提出/猜出哪里出了问题!

+0

所以工作本身是一个独立的课程,需要在你的情况下嘲笑。 – JoseK

+1

'InjectMocks'可能是一个答案:http://docs.mockito.googlecode.com/hg/org/mockito/InjectMocks.html –

回答

2

不由Spring创建和管理的实例不会被Spring注入其依赖关系(除非您应用某些AspectJ magic)。

由于Job实例是由应用程序创建的,因此您必须手动注入其依赖关系。只需在测试类中设置mocks或自动装入Job所需的bean,并将它们传递给新创建的实例。