Sto provando il framework MOQ e ora ho raggiunto una barriera. Il seguente test dell'unità non riesce perché il valore effettivo della proprietà ViewName è una stringa vuota.Come prendere in giro il contesto del controller con moq
Qualcuno potrebbe indicarmi la direzione giusta per favore perché questo non sta superando il test?
[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);
}
Quanto segue produce anche un ViewName vuoto.
HomeController controller = new HomeController();
ViewResult result = controller.About() as ViewResult;
Assert.IsNotNull(result);
Assert.AreEqual("About", result.ViewName);
Dalla esempi sul web che dimostrano beffardo e anche bene TTD io sono solo confuso su ciò che altri installatori ho bisogno di fare uno di quanto sopra primo esempio di lavoro di unit test.
Cheers,
Andrew
Grazie, dopo aver visto uno dei metodi di firma è View (string viewName, object model) il tuo punto ha perfettamente senso! Post scriptum il test è passato! :-) –