2012-03-06 33 views
0

我想寫一些UT我的代碼如何爲UTest僞造HttpContext.Current?

它使用HttpContext.Current

我怎麼能僞造此對象嗎?

+0

可能重複[如何使用Moq模擬ASP.NET MVC中的HttpContext?](http://stackoverflow.com/questions/1452418/how-do-i-mock-the-httpcontext-in-asp-net -mvc-使用-MOQ) – 2012-03-06 11:07:39

回答

1

查看WatiN庫和工具。你可以僞造一個IE線程。

0

如果您擁有該代碼,請不要直接使用HttpContext。使用一些抽象HttpContext的接口。 然後在單元測試中替換該接口的實現。

1

你可以的HttpContext直接使用商業工具,如Typemock Isolator僞造,而無需在自己的代碼封裝:

Isolate.WhenCalled(()=> controller.HttpContext.Current.Session["UserID"]) 
    .WillReturn("YourID");