【发布时间】:2016-04-28 06:38:17
【问题描述】:
我有一个方法:
public DataSet someMethod()
{
List a = someObj.getList(name, integerId);
}
现在通过HttpContext.Current.Session 变量获取integerId。
我已经为该方法编写了一个单元测试。但是由于测试在 Web 进程之外运行,HttpContext.Current.Session 返回 null 并且测试失败。
有什么解决方法吗?
【问题讨论】:
-
在经典的 ASP.NET 中模拟 HttpContext 很困难。我建议您将您对 HttpContext.Session 的引用包装在您自己的可模拟类中。
-
数据访问层不应依赖 HttpContext 对象。
-
是的,理想情况下应该是这样。但是,为了遵循这一点,我的项目中的大量代码必须重构。
标签: c# asp.net unit-testing httpcontext