Как смоделировать контекст контроллера с помощью moq

Я испытываю структуру MOQ, и теперь я столкнулся с барьером. Следующий модульный тест не пройден, потому что фактическим значением свойства ViewName является пустая строка.

Может кто-нибудь указать мне правильное направление, пожалуйста, почему это не проходит тест?

[TestMethod]
public void Can_Navigate_To_About_Page()
{
    var request = new Mock<HttpRequestBase>();
    request.Setup(r => r.HttpMethod).Returns("GET");
    var mockHttpContext = new Mock<HttpContextBase>();
    mockHttpContext.Setup(c => c.Request).Returns(request.Object);

    var controllerContext = new ControllerContext(mockHttpContext.Object, 
                                new RouteData(), 
                                new Mock<ControllerBase>().Object);
    var controller = new HomeController();

    controller.ControllerContext = controllerContext;
    var result = controller.About() as ViewResult;

    Assert.AreEqual("About", result.ViewName);
}

Следующее также приводит к пустому ViewName.

        HomeController controller = new HomeController();
        ViewResult result = controller.About() as ViewResult;
        Assert.IsNotNull(result);
        Assert.AreEqual("About", result.ViewName);

Из примеров в Интернете, которые демонстрируют насмешки, а также хорошее TTD, я просто запутался в том, какие другие сантехнические работы мне нужны, чтобы любой из приведенных выше примеров первого модульного теста работал.

Ура,

Эндрю

Ответы на вопрос(2)

Ваш ответ на вопрос