2012-10-18 70 views
0

我會開始說我是單元測試的狂熱粉絲。我已經使用了幾年。但是,到目前爲止,我的使用僅限於確保工程計算正確執行,字符串格式正確等。基本上,測試我的類庫的工作以便在其他項目中使用。使用依賴注入進行單元測試的下一步是什麼?

現在,我想分支並將單元測試應用於ASP.NET Web API上的工作。在這一點上,我有我的控制器編寫並與Ninject合作。儘管我使用Ninject,但我仍然不能100%確定爲什麼要這樣做,還沒有看到好處。

對我的問題,單元測試我的Web API控制器的下一步是什麼?接下來我應該做什麼以及何時可以享受使用Ninject的好處?

回答

2

接下來,您可以創建控制器可以返回到您的視圖的假數據(或模擬)。這將使您無需完成後端實施即可進行前端開發。

使用Ninject的好處是您可以創建模擬對象用於測試目的。通過注入接口而不是具體實現,您可以輕鬆地在真實和模擬對象之間切換。要做到這一點,你只需要改變應該在Ninject綁定中注入哪一個。使用類似Rhino Mock和Ninject的功能,您可以編寫和測試代碼(控制器,視圖等),而無需完全實現所有功能。當您準備好實施模擬的功能時,您不必重寫代碼以適應更改,只需更新綁定即可。現在,實際的數據會顯示在您的網頁上,而不是您先前創建的模擬數據。

+0

同意。 Ninject(和DI)使得輕鬆實現即時交換實現變得輕而易舉。這在初始開發過程中可能非常方便,而且隨着需求的變化需要不同的類實現,或者您想要重新使用某些組件,但爲新項目連接不同的後端實現,也可能非常方便。 –