2012-03-06 69 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");