最完整的模擬框架我在尋找儘可能全面在我的應用程序進行模擬更換包裝的ASP.NET HttpContext
的。全面的模擬替換可能會大大增加我的ASP.NET Web應用程序的可測試性,而不必將每個應用程序遷移到更多可測試的框架(如MVC)。什麼是HttpContext的
一些我最感興趣的是在HttpContext
包裝和模擬框架眼看功能包括:
- 序列化會話存儲(例如,
.Session
)。 - 序列化的應用程序範圍的存儲(例如,
.Application
)。 - 每請求項目存儲(例如,
.Items
)。 - HttpRequest數據,如引用,請求Uri,服務器變量,發佈數據等。
- HttpResponse數據,如狀態碼和內容。
- 本地文件分辨率(例如
Server.MapPath
) - VirtualPathUtility用於應用程序相關URL路徑解析,它依賴於ASP.NET運行時。
- 身份和主要(例如,
.User
)用於驗證認證/授權規則。 - 的
AllErrors
集合在HttpModule
S和Global.asax
測試誤差的分辨率。
我認爲寫我自己的接口,包裝和模擬;但是,我相信這樣的事情一定已經存在。模擬框架的多樣性對於第一次購買者來說有點不可思議。
什麼是最全面的HttpContext
包裝和模仿,你會建議?
這似乎是你是最正確的。 .NET 3。5介紹了'HttpContextBase',但在此之前,模擬只能通過自定義包裝進行。我認爲,爲HttpContext設計一個精心設計的模擬包裝來促進改進的自動化功能測試將是有益的。我會保持我的眼睛。 – kbrimington 2011-02-01 13:51:24