2011-06-29 57 views
0

什麼是使用ASP.NET MVC和C#創建的Web應用程序的基本單元測試。我使用MySQL作爲我的後端數據庫。我是否需要爲控制器類和Model類創建單元測試?我想使用NUnit框架和NMock框架。當我閱讀使用NMock的文章時,我應該使用Interface來進行單元測試,但是我的代碼沒有接口。我是否需要修改我的網絡應用程序代碼並添加一些界面,或者有其他方法嗎?ASP.NET MVC web應用程序的基本單元測試

請指教。

非常感謝。

回答

6

如果您在代碼中緊密耦合,那麼您會發現很難單獨測試應用程序的每個部分,並且很難模擬依賴關係。

所以如果你的控制器依賴於SomeService然後提取一個新的接口ISomeService並依賴於它。這是使用IoC容器注入依賴關係的地方,也可以幫助您並促進鬆散耦合的代碼。在典型的n層MVC應用程序中,我們將單元測試我們的數據訪問層,服務層(嘲諷數據訪問層依賴性),MVC控制器(嘲笑服務層依賴性)。

我不傾向於測試我的意見/視圖模型,因爲它們無論如何都非常愚蠢。

+0

+1好答案。最好的建議之一是購買一本關於這個主題的好書並閱讀它。通過這樣做我節省了很多時間。 –

+0

+1我第二那。簡短而甜蜜的回答,點。 – RPM1984

3

當我第一次啓動MVC時,我閱讀了Apress的Pro ASP.net MVC 2書,並強烈推薦它(雖然MVC 3書在幾周內發佈)。它解釋瞭如何設計您的網站,以便它可以有效地進行單元測試。它還使用NUnit和Moq進行測試。 http://amzn.to/iIfij4

+0

+1也會推薦這本書。 –