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!'');
});
});