首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模拟HttpContext (会话)

模拟HttpContext (会话)
EN

Stack Overflow用户
提问于 2011-12-09 09:52:25
回答 1查看 753关注 0票数 1

我读过许多关于mvc中的嘲笑的文章和博客.其中许多都很有帮助,但我仍然有一些问题:

  • 一个这样的问题是,我需要在我的ActionResult中使用会话,但是在我的测试中,当会话被访问时,我会得到一个NullReferenceException。 公共ActionResult索引(){ if (会话“某事”“== null”){Session.Add(“某事”,);}{会话“某事”=;}重定向到操作(“Index2”);}
  • 我的测试看起来如下: HomeController控制器=新HomeController;var结果= controller.Index()作为ViewResult;Assert.AreEqual("Index2",result.ViewName);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-09 09:58:33

您可以使用诸如MVC-比较法TestHelper之类的工具

站点中的此示例演示如何测试在会话中存储已发布表单值的操作。

代码语言:javascript
复制
[Test]
public void AddSessionStarShouldSaveFormToSession()
{
    TestControllerBuilder builder = new TestControllerBuilder();
    StarsController controller = new StarsController();
    builder.InitializeController(controller);

    //note that this is assigned before the controller action. This simulates the server  filling out the form data from the request
    builder.Form["NewStarName"] = "alpha c";

    //this assumes that AddSessionStar takes the form data and adds it to the session
    controller.AddSessionStar();

    Assert.AreEqual("alpha c", controller.HttpContext.Session["NewStarName"]);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8443746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档