2010-09-30 9 views
24

He estado buscando una buena forma de ejecutar pruebas de unidades de JavaScript dentro de Visual Studio IDE. Actualmente uso TestDriven.net para ejecutar mis pruebas de unidades C# y es muy conveniente poder obtener rápidamente el resultado de mis pruebas en el panel de salida. Me encantaría encontrar una experiencia similar para JavaScript (lo ideal sería trabajar con TestDriven.net).Ejecutar pruebas de unidades de JavaScript dentro de Visual Studio

He leído sobre diferentes soluciones que le permiten ejecutar pruebas de unidad JavaScrpt. Algunos tienen su propio motor JS, mientras que otros como JS-Test-Driver pueden enviar el código a los navegadores y obtener los resultados. Pero todavía tengo que ver algo que está integrado en VS.

¿Alguien sabe de una extensión que podría hacer esto?

+0

¿Algo nuevo aquí? – pavsaund

Respuesta

23

Después de nueve meses, ahora hay un par de respuestas a esta pregunta.

I created un proyecto de código abierto llamado Chutzpah - A JavaScript Test Runner. Chutzpah le permite ejecutar pruebas de unidades de JavaScript desde la línea de comandos y desde dentro de Visual Studio. También es compatible con ejecutar en el servidor de integración continua de TeamCity.

Otra solución es parte de la próxima versión de Resharper. En Resharper 6 hay un integrated QUnit test runner.

+0

Buen paso para crear tu propio test-runner :). Parece bastante interesante. Personalmente me he mantenido con jstestdriver, dado que es IMPRESIONANTE en las pruebas de navegador cruzado con el servidor de compilación. También para el desarrollo, es genial con el envoltorio jsautotest snappy que ejecuta todas las pruebas en cada guardado. [jstdutil_a_ruby_wrapper_over_jstestdriver] (http://cjohansen.no/en/javascript/jstdutil_a_ruby_wrapper_over_jstestdriver) – pavsaund

+0

Gracias, definitivamente eché un vistazo a jstestdriver y es muy conveniente su capacidad para ejecutar varios navegadores. Planeo eventualmente agregar la habilidad de Chutzpah para usar jstestdriver y posiblemente otros controladores de prueba. Para el primer lanzamiento fui con un navegador sin cabeza porque es autónomo. Un usuario puede tomar los bits y simplemente ejecutar y no preocuparse por qué navegador hay en la máquina. –

+0

@Matthew Manela ¡Eso es genial! :) –

12

Es posible usar JsTestDriver para ser un corredor de prueba en Visual Studio. Una vez que se ha iniciado un servidor, con navegadores conectados, se pueden ejecutar pruebas directamente desde Visual Studio.

La ventana de la consola dará la salida de los resultados de la prueba. No voy a ir a los detalles de implementación aquí, pero the following how-to debería ser suficiente para comenzar con la configuración real de Visual Studio/JsTestRunner.

salida de la consola de Chrome y Internet Explorer (ignorar mis malos prueba-nombres): Console output from chrome and internet explorer

JsTestDriver es principalmente una herramienta de prueba de marcha para verificar varios navegadores. Para obtener buenas pruebas de unidad en el javascript, se pueden conectar otras herramientas específicas de prueba como JasmineBDD (jasmine to jstestdriver adapter).

JsTestDriver también se abre para la posibilidad de probar contra varios navegadores como un paso de compilación en su servidor de integración continua, es decir, Hudson (Continuous Integration with Hudson and jstestdriver). Esto luego permite a un desarrollador probar contra un navegador determinado o dos mientras se desarrolla localmente, pero luego verifica el resultado contra cualquier rango de combinaciones de OS/navegador en el servidor de compilación.

+0

Eso es bastante bueno. Sería bueno si esto se pudiera integrar dentro de las herramientas de prueba existentes como TD.net o el corredor de pruebas de Resharper. Otro problema es que es un poco lento (tiene que iniciar los navegadores y adjuntarlos). Sería fantástico si hubiera una opción similar a http://www.envjs.com/ con una API que pudiéramos conectar con los corredores de prueba existentes. –

+0

Durante el desarrollo local, puede tener los navegadores abiertos y conectados al servidor ... permite un funcionamiento más rápido.Sigue siendo un drwaback que ejecuta TODAS las pruebas, y no solo las pruebas en el contexto actual. – pavsaund

+0

Tengo la esperanza de analizar esto en TD.net. Ciertamente es algo que podría valer la pena. No he usado envjs en realidad, así que no estoy seguro de cómo funciona realmente – pavsaund

Cuestiones relacionadas