asp.net-mvc - mvc - tag helpers asp net core 2
Unidad de prueba de las vistas? (5)
Establezca <MvcBuildViews>
como verdadero en su archivo de proyecto y el compilador le informará sobre este tipo de problema cada vez que compile.
Esto supone que su archivo de proyecto también contiene la siguiente sección (se agrega automáticamente en ASP.NET MVC 1.0)
<Target Name="AfterBuild" Condition="''$(MvcBuildViews)''==''true''">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)/../$(ProjectName)" />
</Target>
¿Alguna idea sobre cómo probar las vistas en ASP.NET MVC?
Estoy harto de encontrarme con la pantalla amarilla de la muerte cuando abro mi proyecto MVC solo porque olvidé actualizar las vistas cuando uno de los métodos de Action
de mi controlador cambia de nombre.
T4MVC para evitar valores mágicos
Tu problema se reduce a cadenas de magia, ¿no? Entonces, ¿por qué no intentar resolverlos?
T4MVC trata sobre esto exactamente para evitar esas desagradables cadenas mágicas. Por lo tanto, cada vez que cambie el nombre de un método de acción, su compilación se rompería porque las referencias a acciones antiguas ya no existirían.
Unidad de prueba una vista? Probando cosas estáticas no funcionales?
La prueba unitaria se trata de probar aspectos funcionales de su aplicación y no los estáticos (en su caso serían enlaces en el caso de otra persona, sería algo que no sé ... clases de CSS o elementos HTML particulares en la página). Eso simplemente no me compró para hacer pruebas unitarias en vistas ...
Entonces, en lugar de probar sus puntos de vista, resuelva su problema desde su raíz.
S. Walther tiene algo que aborda esto, pero parece un poco engorroso ... http://stephenwalther.com/archive/2008/07/26/asp-net-mvc-tip-25-unit-test-your- views-without-a-web-server
Voy a investigar esto un poco más ... parece una cosa razonable que hacer ...
Bueno, además de la entrada del blog de Stephen Walther señalada por AugustLights , también hay otras opciones ...
Jim Zimmerman habla en su blog sobre algún código que escribió para precompilar dinámicamente sus páginas de vista ASP.NET MVC para encontrar cualquier error simple.
También podría usar Spark View Engine , que tiene la característica de precompilación, en lugar de usar el ASP View Engine predeterminado habilitado por ASP.NET MVC. Este es un cambio bastante dramático y puede que no sea una opción para ti;)
Si desea obtener más información acerca de Spark u otros motores de visualización , Scott Hanselman tiene una excelente publicación en el blog describiéndolos y cómo se verían.
Puede escribir pruebas de integración usando Watin , pero si solo necesita una comprobación rápida para ver si tiene algún error en sus vistas, también puede probar la solución mencionada en esta publicación: ¿Cómo puedo compilar páginas ASP.NET antes de cargarlas? con un servidor web . ¡Prepara tus páginas aspx y listo!