tag net mvc asp asp.net-mvc unit-testing

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.



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.