page comandos cli change angular jasmine angular-cli karma-runner

angular - comandos - Ejecutando un solo archivo de prueba



manual angular 6 (4)

¿Hay alguna manera de ejecutar ng test para un solo archivo en lugar de para todo el conjunto de pruebas? Idealmente, me gustaría obtener el bucle de retroalimentación más rápido posible cuando estoy editando un archivo, pero el karma ejecuta todo el conjunto en cada guardado, lo cual es un poco lento cuando construye un conjunto de pruebas lo suficientemente grande.

Esto es diferente de Cómo ejecutar solo una especificación de prueba con angular-cli en que esa pregunta se trata de ejecutar una especificación individual. Esto se trata de ejecutar un archivo individual. La solución involucra la misma característica de especificaciones de Jasmine, pero la naturaleza de la pregunta es ligeramente diferente.


Descubrí que Jasmine te permite describe con prefijo y it métodos con una f (¿para foco?). Entonces, fdescribe y fit . Si usa cualquiera de estos, el karma solo ejecutará las pruebas relevantes. Por lo tanto, para enfocar el archivo actual, puede simplemente tomar el nivel superior de describe y cambiarlo a fdescribe . Funciona para mis propósitos.


Funciona si especifica su archivo de especificaciones como parámetro.

Por ejemplo:

ng test foo.spec.ts

Espero que esto ayude.


Usar npm run test file.component.spec.ts funcionará para mí en angular 7 verison.


Vale la pena mencionar que puede deshabilitar una prueba en particular sin hacer comentarios por xdescribe y xit

xdescribe(''Hello world'', () => { xit(''says hello'', () => { expect(helloWorld()) .toEqual(''Hello world!''); }); });

Y como alguien ya dijo que si quieres enfocarte en alguna prueba, entonces fdescribe y fit

fdescribe(''Hello world'', () => { fit(''says hello'', () => { expect(helloWorld()) .toEqual(''Hello world!''); }); });