Asp.net-Mvc
ASP/NET MVC:帶會話的測試控制器?嘲諷?
我在這裡閱讀了一些答案:測試視圖和控制器以及模擬,但我仍然無法弄清楚如何測試讀取和設置會話值(或任何其他基於上下文的變數)的 ASP.NET MVC 控制器。如何為我的測試方法提供(會話)上下文?是在嘲諷答案嗎?有人有例子嗎?基本上,我想在呼叫控制器方法並讓控制器使用該會話之前偽造一個會話。有任何想法嗎?
查看 Stephen Walther 關於偽造控制器上下文的文章:
[TestMethod] public void TestSessionState() { // Create controller var controller = new HomeController(); // Create fake Controller Context var sessionItems = new SessionStateItemCollection(); sessionItems["item1"] = "wow!"; controller.ControllerContext = new FakeControllerContext(controller, sessionItems); var result = controller.TestSession() as ViewResult; // Assert Assert.AreEqual("wow!", result.ViewData["item1"]); // Assert Assert.AreEqual("cool!", controller.HttpContext.Session["item2"]); }