Mi objetivo es poder probar algunas extensiones HtmlHelper personalizadas, que utilizan RenderPartial internamente..net mvc2 prueba de unidad de extensión HtmlHelper personalizada
http://ox.no/posts/mocking-htmlhelper-in-asp-net-mvc-2-and-3-using-moq
He intentado usar el método anterior para burlarse de la HtmlHelper. Sin embargo, me encuentro con excepciones de valor Nulo. "Nombre del parámetro: ver"
¿Alguien tiene alguna idea? Gracias.
A continuación se presentan las ideas del código:
[TestMethod]
public void TestMethod1()
{
var helper = CreateHtmlHelper(new ViewDataDictionary());
helper.RenderPartial("Test"); // supposingly this line is within a method to be tested
Assert.AreEqual("test", helper.ViewContext.Writer.ToString());
}
public static HtmlHelper CreateHtmlHelper(ViewDataDictionary vd)
{
Mock<ViewContext> mockViewContext = new Mock<ViewContext>(
new ControllerContext(
new Mock<HttpContextBase>().Object,
new RouteData(),
new Mock<ControllerBase>().Object),
new Mock<IView>().Object,
vd,
new TempDataDictionary(),
new StringWriter());
var mockViewDataContainer = new Mock<IViewDataContainer>();
mockViewDataContainer.Setup(v => v.ViewData)
.Returns(vd);
return new HtmlHelper(mockViewContext.Object,
mockViewDataContainer.Object);
}
Deberá publicar más detalles para que podamos reproducir el problema. He usado el código antes mencionado (lo escribí) para probar controladores que representan las vistas con 'RenderPartial' sin problemas. –