0
我在单元测试中使用SpringJUnit4ClassRunner,并且测试可以正确访问自动布线bean(模拟服务)。在JUnit测试中使用@Autowired
它如何测试一个工作,也谈到服务。这项工作也有自动装配的bean。
可悲的是,在测试中的“新的Job().execute(...)”调用中,Job内部的自动挂接服务为空。
任何人都可以提出/猜出哪里出了问题!
我在单元测试中使用SpringJUnit4ClassRunner,并且测试可以正确访问自动布线bean(模拟服务)。在JUnit测试中使用@Autowired
它如何测试一个工作,也谈到服务。这项工作也有自动装配的bean。
可悲的是,在测试中的“新的Job().execute(...)”调用中,Job内部的自动挂接服务为空。
任何人都可以提出/猜出哪里出了问题!
不由Spring创建和管理的实例不会被Spring注入其依赖关系(除非您应用某些AspectJ magic)。
由于Job
实例是由应用程序创建的,因此您必须手动注入其依赖关系。只需在测试类中设置mocks或自动装入Job
所需的bean,并将它们传递给新创建的实例。
所以工作本身是一个独立的课程,需要在你的情况下嘲笑。 – JoseK
'InjectMocks'可能是一个答案:http://docs.mockito.googlecode.com/hg/org/mockito/InjectMocks.html –