2013-06-25 82 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,並將它們傳遞給新創建的實例。