asp.net jquery asp.net-mvc qunit

Estructura recomendada para probar Javascript con QUnit en ASP.NET



jquery asp.net-mvc (3)

Tengo una solución estándar de ASP.NET MVC (versión 2, versión 2) con el proyecto real y las pruebas de unidad del lado del servidor en proyectos separados.

Debido a que este proyecto es muy pesado para el cliente, también quiero hacer un proyecto ClientTest que use QUnit para probar el proyecto principal.

Pensé en crear un proyecto de formularios web ASP.NET normal con un solo archivo HTML que cargaría los distintos scripts en mi directorio Scripts / y los probaría con QUnit. Desafortunadamente, esto generará otro servidor de desarrollo ASP.NET. Podría configurar el puerto del servidor de proyectos MVC en ejecución antes de ejecutar las pruebas, pero debe haber una mejor manera de no lanzar el archivo html de prueba en el proyecto MVC principal.

¿Alguien sabe de una mejor manera de hacer esto?


No me queda claro por qué el uso de MVC marca la diferencia: si desea integrar sus pruebas en una compilación de CI, la sugerencia de gWiz es la ruta a seguir.

Si su requisito es que desee ejecutar sus pruebas de forma interactiva directamente en la página real sin afectar el aspecto de esa página, entonces puede revisar el complemento FireUnit para Firebug. También puede envolver a FireUnit alrededor de QUnit como se describe en el blog de John Resig .

Si le preocupa la inclusión de elementos de prueba, incluya los scripts relevantes en sus compilaciones de prueba / depuración y deshabilítelos / elimínelos en sus compilaciones de producción.


Quizás pueda elegir y elegir las técnicas de este artículo , incluyendo el uso de la línea de comandos, el uso de NUnit con WatiN y el raspado de los resultados de las pruebas para los informes. Esta solución no requeriría un proyecto separado de WebForms para aprovechar las pruebas, ya que todo es manejado por WatiN.


Me gusta su idea de colocar las pruebas QUnit en un proyecto separado. ¿Qué pasa con el uso de XCOPY para copiar los scripts en el evento de precompilación?

Supongamos que su proyecto MVC es MyProj.Web y su proyecto de prueba QUnit es MyProj.ClientTest (sustitúyalo por los nombres de sus proyectos).

  • Cree una carpeta de scripts en su proyecto ClientTest.

  • Desde Proyecto> Propiedades de MyProj.ClientTest > Eventos de compilación , agregue lo siguiente a la línea de comando de evento de Pre-compilación :

    XCOPY "$ (SolutionDir) MyProj.Web / Scripts" "$ (ProjectDir) Scripts" / S / Y

  • Luego, en su HTML solo incluya los archivos JavaScript apropiados de la carpeta Scripts.

Nota: Tendrá que reconstruir su proyecto ClientTest para actualizar los archivos de JavaScript cuando desee volver a ejecutar las pruebas. Ajuste los nombres de las carpetas, las rutas y las opciones de XCOPY según sea necesario.