我最近剛開始使用MVC,因爲我聽說MVC的主要優勢在於它使應用程序單元可測試。在編寫第一次單元測試之後,我發現測試內部有很多邏輯的控制器(發送確認電子郵件,使用會話,上下文和其他ASP Net靜態)並不總是很簡單。編寫單元測試需要更多的時間,而不是功能,我不相信這是有用的。MVC 3:測試控制器VS集成測試
我很想將業務邏輯轉移到一個「服務」層,它消除了所有ASP Net靜態並且可以輕鬆測試。然後使用Selenium進行集成測試以測試整個功能。
當測試某個動作非常複雜時(特別是嘲笑輸入和設置環境),您是否陷入了困境?
您是否找到了在控制器中使用業務邏輯的好方法。或者您發現使用服務和控制器代碼只是在服務調用上進行中繼更好?
在我看來,測試控制器更像是集成測試,而不是單元測試。你怎麼看待這件事?
您認爲單元測試控制器比集成測試有什麼優勢嗎?
無法更好或更簡潔地解釋。 – 2012-04-23 19:10:51