gpt4 book ai didi

unit-testing - MVC3 中的单元测试 Controller session 变量

转载 作者:行者123 更新时间:2023-12-04 22:24:23 27 4
gpt4 key购买 nike

我正在对我的 Controller 进行单元测试。

在我的一种 Controller 方法中,我正在设置 session 变量:

 public void Index(){
Session["foo"] = "bar";

return View();
}

我怎样才能对此进行单元测试?问题是测试时 Session 属性为空。无法注入(inject),因为 Session 属性是只读的。
 [TestMethod]
public void TestIndex()
// When
_controller.Index();

// Then
Assert.AreEqual("bar", _controller.Session["foo"])

最佳答案

我个人喜欢使用 MvcContrib TestHelper它模拟了所有的 HTTP 管道:

[TestMethod]
public void HomeController_Index_Action_Should_Store_Bar_In_Session()
{
// arrange
var sut = new HomeController();
new TestControllerBuilder().InitializeController(sut);

// act
sut.Index();

// assert
Assert.AreEqual("bar", (string)sut.Session["foo"]);
}

关于unit-testing - MVC3 中的单元测试 Controller session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6982881/

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