我有一個服務類,我想單元測試。該服務調用存儲庫類方法以保存一些數據。但在我調用save方法之前,我有一個驗證方法屬於被測試的服務類,它驗證類的特性是否作爲存儲庫保存方法的參數持久化。如何模擬MOQ的測試類的方法
我知道要驗證儲存庫保存方法被調用,我必須模擬儲存庫類並設置保存方法,但是如何驗證屬於被測試服務類的驗證方法是在何時調用的單元測試被測方法,因爲它們屬於同一個類?
我有一個服務類,我想單元測試。該服務調用存儲庫類方法以保存一些數據。但在我調用save方法之前,我有一個驗證方法屬於被測試的服務類,它驗證類的特性是否作爲存儲庫保存方法的參數持久化。如何模擬MOQ的測試類的方法
我知道要驗證儲存庫保存方法被調用,我必須模擬儲存庫類並設置保存方法,但是如何驗證屬於被測試服務類的驗證方法是在何時調用的單元測試被測方法,因爲它們屬於同一個類?
您可以通過傳遞使Verify
方法報告錯誤的無效數據來間接測試它。
例子:
Verify
拋出的無效值異常:讓你的單元測試檢查,這個異常被拋出Verify
回報false
和測試方法不調用Save
因爲這個:斷言您的存儲庫模擬沒有發生對Save
發生的呼叫。你不能直到你注入你的服務類在其他類。這是你需要做的。
所以你說的是我應該確保validate方法拋出一個異常通過單元測試傳遞無效數據?有道理,我會寫一個單獨的單元測試方法來測試當我傳入無效數據時拋出異常。謝謝 – Tunji