Como zombar do contexto do controlador com o moq
Eu estou tentando o quadro MOQ e até agora eu bati uma barreira. O seguinte teste de unidade falha porque o valor real da propriedade ViewName é uma seqüência vazia.
Alguém poderia me apontar na direção certa, por favor, por que isso não está passando no teste?
[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);
}
O seguinte também produz um ViewName vazio.
HomeController controller = new HomeController();
ViewResult result = controller.About() as ViewResult;
Assert.IsNotNull(result);
Assert.AreEqual("About", result.ViewName);
De exemplos na web que demonstram zombaria e também boa TTD eu estou confuso sobre o que outro encanamento eu preciso fazer qualquer um dos exemplos acima exemplo de teste de unidade de trabalho.
Felicidades,
Andrew