我在控制器中有这个
public ActionResult Testing()
{
CustomerContactModel model = new CustomerContactModel();
...
HttpContext.Current.Session["xxxx"] = "Data";
return PartialView("MyPartialView", model);
}
当我从trest方法运行控制器操作时,我在HttpContext上遇到异常。我该如何解决这个问题?
谢谢,
答案 0 :(得分:1)
答案 1 :(得分:0)
您可以使用moq几乎任何东西,包括HttpContext,用于测试方法:
我个人尝试通过将所有重要代码保存在控制器中以及更远的方法来使我的ActionResult方法不需要测试......但是如果你想测试它们,那么模拟可以非常方便。
答案 2 :(得分:0)
你必须在单元测试中模拟HttpContext。以下是使用Moq框架的方法:How do I mock the HttpContext in ASP.NET MVC using Moq?
但您也可以使用MvcContrib TestControllerBuilder轻松完成。您在此处有一些示例:http://mvccontrib.codeplex.com/wikipage?title=TestHelper&referringTitle=Documentation
对未来的建议,也将尽可能避免在控制器操作中依赖HttpContext。