Tob*_*ias 4 session unit-testing controller asp.net-mvc-3
我正在测试我的控制器.
在我的一个控制器方法中,我设置了Session变量:
public void Index(){
Session["foo"] = "bar";
return View();
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能对此进行单元测试?问题是测试时Session属性为null.无法进行注入,因为Session属性是只读的.
[TestMethod]
public void TestIndex()
// When
_controller.Index();
// Then
Assert.AreEqual("bar", _controller.Session["foo"])
Run Code Online (Sandbox Code Playgroud)
我个人喜欢使用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"]);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4866 次 |
| 最近记录: |