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 –