2015-11-06 67 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"); 
} 

回答