【发布时间】:2012-03-26 07:47:22
【问题描述】:
我有一个我正在尝试进行单元测试的 Web 服务。在服务中,它从HttpContext 中提取多个值,如下所示:
m_password = (string)HttpContext.Current.Session["CustomerId"];
m_userID = (string)HttpContext.Current.Session["CustomerUrl"];
在单元测试中,我使用简单的工作请求创建上下文,如下所示:
SimpleWorkerRequest request = new SimpleWorkerRequest("", "", "", null, new StringWriter());
HttpContext context = new HttpContext(request);
HttpContext.Current = context;
但是,每当我尝试设置 HttpContext.Current.Session 的值时
HttpContext.Current.Session["CustomerId"] = "customer1";
HttpContext.Current.Session["CustomerUrl"] = "customer1Url";
我得到空引用异常,指出 HttpContext.Current.Session 为空。
有没有办法在单元测试中初始化当前会话?
【问题讨论】:
-
你试过this method吗?
-
尽可能使用HttpContextBase。
标签: c# web-services unit-testing httpcontext