2008-08-24 33 views

回答

1

在過去使用ASP.NET MVC之前,我使用this library Phil Haack爲單元測試創​​建了任何使用HttpApplication和HttpContext的東西。它在轉身使用Duck Typing library

不幸的是,這是做到這一點的最好辦法。 ASP.NET並不容易測試。當他們處理ASP.NET MVC時,其中一個目標是通過使框架更易於測試來消除這些令人頭疼的問題。

2

從本質上講,你需要刪除HTTP模塊的上的HttpApplication和HttpContext的依賴,用一個接口替換它們。你可以創建自己的IHttpApplication和IHttpContext(與IHttpResonse,IHttpRequest等一起)或使用@Dale里根提到的那些或捆綁在一起的asp.net的MVC預覽System.Web.Abstractions使用閃亮的新的問題。

+0

你能指點我@Dale Ragan的文章。 PS:我沒有訪問Twitter – chugh97 2010-02-05 12:11:37

0

您可以使用隔離(模擬)框架。我知道有兩個工具可以讓你僞造/模擬任何.NET對象 - Typemock IsolatorTelerik JustMock我認爲你也可以使用Moles

的所有上述將使你假的任何.NET對象的事件,如果它沒有實現一個接口,甚至有一個公共c'tor。