2015-11-06 69 views
0

我使用MvcContrib.TestHelper这样的:在测试过程中,控制器无法设置会话变量

[TestMethod] 
public void LogOut() { 

    // Arrange 

    var controller = new AdminController(new AdminLogics(new AdminRepositoryStub())); 
    var builder = new TestControllerBuilder(); 
    builder.InitializeController(controller); 

    controller.Session["AdminIsLoggedIn"] = true; 

    // Act 

    var result = (RedirectToRouteResult)controller.LogOut(); 

    // Assert 

    Assert.IsFalse((bool)controller.Session["AdminIsLoggedIn"]); 
} 

但是由于会话VAR不会被覆盖的断言失败。

这里的控制器:一个的HttpContext的背景下运行时

public ActionResult LogOut() { 
    Session["AdminIsLoggedIn"] = false; 

    return RedirectToAction("List", "Catalogue"); 
} 

回答