【发布时间】:2011-03-16 17:06:11
【问题描述】:
我见过很多类似的话题,但没有一个能真正解决我的特殊情况。
我正在 ASP.NET 4.0 Web 应用程序(ASP.NET 表单,而不是 MVC)中编写单元测试。代码中有几个地方我调用ServerVariables 集合来调用像REMOTE_ADDR 这样的变量。由于我的单元测试在执行我的代码时实际上并没有启动HttpRequests,所以像ServerVariables 这样的东西是Null,因此当我尝试调用HttpContext.Current.Request.ServerVariables("REMOTE_ADDR") 时出错
我发现的所有解决此问题的解决方案都参考了 MVC,因此他们假设 HttpRequest 派生自 HttpRequestBase,它在 MVC 中而不是在 ASP.NET 表单中。
我尝试使用Moq,但您无法模拟密封类,不幸的是HttpRequest 被密封,没有接口。
【问题讨论】:
标签: asp.net unit-testing moq