Jak pozorować kontekst kontrolera za pomocą moq
Wypróbowuję ramy MOQ i teraz mam barierę. Poniższy test jednostkowy kończy się niepowodzeniem, ponieważ rzeczywista wartość właściwości ViewName jest pustym łańcuchem.
Czy ktoś mógłby wskazać mi właściwy kierunek, dlaczego nie przechodzi testu?
[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);
}
Poniższe informacje dają także pustą nazwę ViewName.
HomeController controller = new HomeController();
ViewResult result = controller.About() as ViewResult;
Assert.IsNotNull(result);
Assert.AreEqual("About", result.ViewName);
Z przykładów w Internecie, które demonstrują drwiny, a także dobre TTD, jestem po prostu zdezorientowany, co do innych instalacji, których potrzebuję, aby wykonać jeden z powyższych przykładów pierwszego testu jednostkowego.
Twoje zdrowie,
Andrzej