2015-06-06 100 views
0

我試圖瞭解所有的事情都與春天有關。不過,我不明白爲什麼單元測試春季代碼時使用mockito?不能彈簧處理到mockito所做的相同DI? mockito的貢獻是什麼,這是純粹的春天不可能做到的?爲什麼我需要mockito來測試Spring應用程序?

澄清: 我的想法是,我可以使用不同的應用程序上下文來測試創建我需要作爲虛擬對象的存根bean的位置。

+1

爲什麼你認爲你需要** Mockito單元測試基於Spring的應用程序? –

回答

5

Spring不是一個嘲諷的框架。這是一個依賴注入框架。

您使用Mockito是因爲它允許模擬測試類的合作者。因此,如果您正在測試服務,並且此服務使用一個存儲庫來獲取數據並將數據存儲在數據庫中,那麼您可以模擬存儲庫,以便您的測試是真正的隔離單元測試,不需要運行Oracle數據庫即可運行。

閱讀https://stackoverflow.com/a/28783849/571407瞭解更多嘲笑的詳細介紹。

0

您不需要Mockito來測試Spring應用程序。您可以啓動服務器並直接使用注入的依賴項。但是有時候,嘲笑一個(或多個)依賴項(例如選擇數據庫)會更容易一些,因爲您想測試您編寫的代碼,而不是選擇數據庫,這也包括您需要的帶有一些測試數據的數據庫(或者至少是模擬測試數據)。事實上,您使用Mockito來保持測試的依賴關係,因此您可以測試應用程序使用的代碼並「忽略」第三方測試環境的依賴關係。

相關問題