我對要測試的對象有相當重要的依賴關係圖。解決我的依賴問題最簡單的方法是什麼,而無需在任何地方註冊mocks?在大型依賴對象圖上注入模擬
例如,我有一個依賴關係圖如下:
PublicApi
ApiService
AccountingFacade
BillingService
BillingValidation
BillingRepository
UserService
UserRepository
我想測試PublicApi.CreateUser()
,我希望它通過所有的代碼運行,但我想嘲笑倉庫所以我不不得不向數據庫寫入任何內容。我應該只使用一個DI容器並註冊我的所有服務,並使用mock替換存儲庫,然後解析PublicApi
並運行該方法?
我正在研究AutoFixture,看起來它可能能夠處理這樣的事情,但我無法將自己的頭圍繞整個'Freeze'與'Register'並且它與Moq集成。
這是有道理的。我可以通過進行多層測試來獲得全面覆蓋,而不是一次測試多個層。 – scottm
確切地說,它使得測試本身更簡單,更易於理解。 –
+1,直接點。 –