-
con
fdescribe
ejecuta únicamente el suite de test -
con
xdescribe
se omite el suite de test -
con
fit
ejecuta el focus sobre un test -
con
xit
se omite un test
Introducción
Unit testing para servicios en Angular
Jest vs. Jasmine: entornos de testing para Angular
Fundamentos de unit testing en Angular
Tu primera prueba en Angular
Explorando matchers
Reporte de coverage
Mocha Report
Testing en servicios
Pruebas unitarias para servicios
Servicios con dependencias
Spies
Angular TestBed
TestBed + Spies
Proyecto
Setup y maquetación del proyecto
Product Service Http
Testing en consultas HTTP
HttpClientTestingModule
Generando Mocks
Pruebas para GET
Pruebas maliciosas para GET
Pruebas para POST
Pruebas para PUT y DELETE
Bonus
Pruebas a errores
Pruebas con interceptores
Pruebas al login
Pruebas a la API del navegador
GitHub Actions
Próximos pasos
Toma el Curso de Angular: Unit Testing para Componentes
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Nicolas Molina
Aportes 5
Preguntas 0
con fdescribe
ejecuta únicamente el suite de test
con xdescribe
se omite el suite de test
con fit
ejecuta el focus sobre un test
con xit
se omite un test
Forzar error por limite de coverage
check: {
global: {
statements: 90,
branches: 90,
functions: 90,
lines: 90
}
}
Para poder generar un reporte de covertura (más visual y específico) que no estará en modo escucha continua, lo que se debe hacer es correr el sigueinte comando en la términal
ng test --no-watch --code-coverage
Ahora que se ha generado este coverage podras ver en tu sistema de carpetas del proyecto una carpeta con el nombre de coverage.
Al entrar nos vamos al archivo index.html, damos clic derecho, seleccionamos la opción Reveal in Explorer y abrimos el archivo index.html en nuestro navegador para ver el reporte gráficamente.
Al ver el reporte podemos darnos cuenta cuantas veces se ha corrido cada prueba unitaria
por lo que es recomendable colocar una fdescribe para hacer Focus a la prueba que se esta realizando.
Esto hará que el reporte de covertura sea más bajo y por tanto solo selecciona partes específicas del código.
Si no estuvieramos realizando una prueba de alguna parte de nuestro código con FOCUS el reporte de coverge gráfico nos avisa. Por lo que es necesario cubrir todas las posibles pruebas
para poder forzar una cantidad de pruebas mínima podemos cambiar el archivo de karma y así si no realizamos una cantidad de pruebas mínima el reporte de coverage y el testing nos devolvera un error
El cambio en el archivo karma.conf.js es el siguiente
karma.conf.js
coverageReporter: {
check: {
global: {
statements: 80,
branches: 80,
functions: 80,
lines: 80
}
}
}
Al hacer este cambio todas las opciones que te da el reporte de coverage deben superar el 80% para poder aceptar las pruebas. Eso solo se logra si hacemos la prueba de funcionalidad general es decir sin hacer FOCUS en componentes específicos.
Si debido a la version de angular que estas utilizando no tienes el archivo karma.conf.js, tienes que generarlo utilizando el comando:
ng generate config karma
Configuración global del umbral de cobertura de pruebas:
check: {
global: {
statements: 80,
branches: 80,
functions: 80,
lines: 80,
},
},
},
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?