Я использую MVC3 и хочу проверить следующее действие с помощью Microsoft.VisualStudio.TestTools.UnitTesting
и Moq
:тест блока не удается из-за Sessions
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
с сообщением «еще не реализовано».
Как я могу проверить свое действие с модульными тестами?
Спасибо для вашего быстрого совета. Вы освободили меня от моей боли. – Simon