3

Microsoft.VisualStudio.TestTools.UnitTesting私は MVC3 を使用しており、およびを介して次のアクションをテストしたいと考えています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

単体テストでアクションをテストするにはどうすればよいですか?

4

1 に答える 1