gpt4 book ai didi

asp.net-mvc - ASP/NET MVC : Test Controllers w/Sessions? 模拟?

转载 作者:行者123 更新时间:2023-12-01 22:58:23 25 4
gpt4 key购买 nike

我在这里阅读了一些答案:测试 View 和 Controller 以及模拟,但我仍然无法弄清楚如何测试读取和设置 session 值(或任何其他基于上下文的变量)的 ASP.NET MVC Controller 。
如何为我的测试方法提供( session )上下文?是在 mock 答案吗?有人有例子吗?
基本上,我想在调用 Controller 方法并让 Controller 使用该 session 之前伪造一个 session 。有任何想法吗?

最佳答案

查看 Stephen Walther 关于伪造 Controller 上下文的帖子:

ASP.NET MVC Tip #12 – Faking the Controller Context

[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"]);
}

关于asp.net-mvc - ASP/NET MVC : Test Controllers w/Sessions? 模拟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/176347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com