Я пытаюсь создать структуру MOQ и теперь я ударил барьер. Следующий модульный тест завершился неудачно, потому что фактическое значение свойства ViewName является пустой строкой.Как издеваться над контентом контроллера с moq
Может ли кто-нибудь указать мне в правильном направлении, пожалуйста, почему это не проходит тест?
[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);
Из примеров в Интернете, которые демонстрируют насмешливый, а также хороший ТТД Я просто запутался, что других сантехническим мне нужно сделать либо из выше первой модульного тестирования примера работы.
Приветствия,
Эндрю
Thankyou, после просмотра одного из методов подписи является View (string viewName, object model), ваша точка имеет прекрасный смысл! Постскриптум тест прошел! :-) –