javascript - ¿Cómo se depuran las pruebas de Jasmine con Resharper?
unit-testing (4)
Como no tengo debugger;
para trabajar encontré otra solución. Al agregar lo siguiente a mi prueba, no se notificará a resharper que la prueba ha finalizado para poder establecer puntos de corte de depuración en el navegador abierto (uso Chrome) y actualizar (F5) la página.
jasmine.getEnv().currentRunner_.finishCallback = function () {};
Desde Jasmine 2.0 necesitas usar:
ReSharperReporter.prototype.jasmineDone = function () { };
Detenga las pruebas en la ventana de resharper testrunner cuando haya terminado.
También esto se puede hacer para QUnit
QUnit.moduleDone = function(){}
No puedo encontrar una forma de depurar (recorrer) el código de JavaScript al ejecutar las pruebas de Jasmine con Resharper en Visual Studio 2012. Intenté ejecutar las pruebas con el navegador (Chrome) pero el corredor de prueba cierra el puerto tan pronto como se ejecuta la prueba. así que no puedo poner un punto de interrupción en el código. También intenté ejecutar en Internet Explorer y poner puntos de interrupción en Visual Studio, pero no se adjuntará al proceso. Mi prueba tiene muchos /// scripts de referencia que Resharper incluye automáticamente en el corrector de prueba, pero no quiero hacerlo manualmente para cada prueba que quiero depurar. Por favor, ayúdame a entender esto. Si tiene una prueba de jazmín que está fallando, ¿cómo la depura?
Como publiqué en Debugging pruebas de jazmín con resharper y phantom js
Tengo un depurador; para trabajar configurando IE 11 como mi navegador de prueba en las opciones de ReSharper. Lo bueno es que puedes establecer tus puntos de interrupción en la versión de Visual Studio del código y establecerlos y depurarlos usando Visual Studio. Realmente no necesita interactuar con el navegador.
Sé que esta es una pregunta antigua y esta respuesta está ligeramente fuera de tema, pero si no quiere interferir con la devolución de llamada, el menú contextual del corredor de prueba Chutzpah podría ayudarle. Ejecute las pruebas en resharper / phantomjs (para que no obtenga la explosión de pestañas) y depure en Chrome (o en su navegador preferido) disparado con un clic derecho:
Intenta usar palabra clave del debugger
. Simplemente agregue la siguiente línea al código que desea depurar (quizás en la especificación):
debugger;
Invoca cualquier funcionalidad de depuración disponible. No funciona en IE, pero funciona bastante bien en Chrome (escribió que lo usa, así que supongo que es suficiente para la depuración).
¡Por supuesto, después de eso, asegúrese de eliminar la palabra clave del debugger
! Tal vez no exista una forma realmente sencilla de evitarlo en el código de producción en general (en caso de que lo use no solo en spesc), pero si está interesado en esta question SO podría ser útil.