angular - tab - Pruebas de depuración en la prueba NG
settitle angular (4)
En la nueva versión de VSCode (1.14.0) siguen esta recipe :
Puede depurar la aplicación Angular por completo (incluidas las pruebas unitarias), la receta es sencilla.
Estoy utilizando Angular CLI y el código VS, pero ninguno de mis puntos de interrupción en mis archivos de especificaciones parece ser afectado cuando ejecuto la prueba ng.
¿Necesito hacer alguna configuración?
Esto es lo que me funcionó con Angular CLI 1.0. * Y Chrome en Windows 7.
Cambiar archivos de configuracion
En el directorio raíz de su proyecto, abra karma.conf.js
. Justo después de singleRun: false
add ,
seguido de esta sección:
customLaunchers: {
ChromeDebug: {
base: ''Chrome'',
flags: [ ''--remote-debugging-port=9333'' ]
}
}
Agregue la configuración a .vscode/launch.json
:
{
"type": "chrome",
"request": "attach",
"name": "Unit tests",
"address": "localhost",
"port": 9333,
"sourceMaps": true,
"webRoot": "${workspaceRoot}"
},
Iniciar la depuración
Ejecutar
ng test --browsers ChromeDebug
Espera a que se inicie el navegador Chrome. Verás algo como esto en la línea de comandos:
01 06 2017 16:07:29.276:INFO [launcher]: Launching browser ChromeDebug with unlimited concurrency
Establezca el punto de interrupción en uno de sus archivos
.spec.ts
.En el código de Visual Studio, elija la
Unit tests
configuración de la depuración y presione F5 (botón "Iniciar depuración").Presiona
Shift+Ctrl+F5
o actualiza la ventana de Chrome para volver a ejecutar las pruebas y llegar al punto de interrupción.
Por conveniencia
También puede modificar su package.json y agregar un nuevo script:
"test-debug": "ng test --browsers ChromeDebug",
Luego, la próxima vez que desee iniciar ng test
con depuración, simplemente ejecute:
npm run test-debug
Referencias:
Las otras respuestas son respuestas completamente válidas, pero después de 18 años de uso de Angular, tiendo a hacerlo en el navegador: ¡las herramientas de Chrome!
Ejecute ng test, luego f12 y busque el archivo de especificaciones a través del contexto del paquete web. Agregue un punto de interrupción (s) y actualice y llegará a dichos puntos de interrupción. Según captura de pantalla
Solo para agregar a las otras respuestas:
- Siga las instructions mencionadas en @titusfx.
- En la terminal ejecuta la
ng test
. - En la vista de depuración de Visual Studio Code, seleccione
ng test
del menú desplegable. - es posible que deba actualizar el navegador si no puede alcanzar los puntos de ruptura la primera vez.