【发布时间】:2013-07-06 17:16:14
【问题描述】:
我使用 MVC3 并想通过 Microsoft.VisualStudio.TestTools.UnitTesting 和 Moq 测试以下操作:
public ActionResult index()
{
Session.Add("username", "Simon");
var lName = Session["username"] as String;
var lSessionID = Session.SessionID;
return Content(lSessionID);
}
我的单元测试:
[TestMethod]
public void IndexTest()
{
// Arrange
var contextMock = new Mock<ControllerContext>();
var mockHttpContext = new Mock<HttpContextBase>();
var session = new Mock<HttpSessionStateBase>();
mockHttpContext.Setup(ctx => ctx.Session).Returns(session.Object);
StartController controller = new StartController();
var lResult = controller.index() as ContentResult;
Assert......;
}
我的单元测试导致 NullReferenceException:
我也尝试过 MvcContrib.TestHelper,但 Session.SessionID 失败,消息“尚未实现”。
如何使用单元测试来测试我的 Action?
【问题讨论】:
标签: asp.net-mvc-3 unit-testing moq