Angular: Pruebas unitarias con Jasmine y Karma
Crea tus propios tests unitarios
What you will learn
Comprender cómo funcionan los test unitarios
Diferenciar y comprender Jasmine y Karma
Realizar test unitarios de buena calidad
Buenas practicas de programación en los tests
Entender qué tipo de test es necesario aplicar en cada momento
Subir la cobertura de un proyecto
Why take this course?
En este curso aprenderás todo sobre los tests unitarios, Karma y Jasmine. Serás capaz de comenzar a realizar tests desde los más básicos, hasta los más completos.
Aprenderás a hacer tests de buena calidad, que no solo cubran líneas de código, sino que prueben el código bien. Además, te daré consejos para que puedas analizar que tipo de test es mejor aplicar en cada momento.
El curso está dividido en los siguientes puntos:
1. Introducción
Presentación del curso
Instructor
Valoración del curso
Software necesario
2. Conceptos generales
¿Qué es un test unitario?
Unit test - Integration test - E2E
¿Cómo funciona un test unitario?
¿Cuál es el mejor momento para hacer las pruebas?
Cobertura/Coverage
Jasmine y Karma
3. Jasmine y Karma
Archivos de prueba en un proyecto
Configuración de Karma
Carpeta coverage
Lanzar tests
Nueva dependencia en Karma (Angular 11 o superior)
4. Test unitario
Aplicación a testear
Instalar JSON Server
Estructura de un fichero de pruebas (.spec)
Configurar TestBed
Crear primer test
Fallos comunes configurando el TestBed
Test a métodos con return
Test a métodos sin return (uso de spyOn)
Test a métodos privados
Finalizando cart component
Test a suscripciones (subscribe-Observable)
Mock de un servicio
xit, fit, xdescribe, fdescribe
beforeEach, beforeAll, afterEach, afterAll
Depurar en karma
Test a un pipe
Test a un servicio (Con peticiones a API)
Finalizando book service
Alternativas para instanciar un componente o servicio
Test a rutas con RouterTestingModule
5. Angular material - diálogo
Usando MatDialog en el proyecto
Adaptando tests en cart component
Test a confirmation dialog component
6. Ampliación
Introducción a los test de integración
Automatizar test antes de generar el build
Test a formulario
Test a document y window
Extensiones de VSCode que utilizo
7. Cierre del curso
Consejos finales
Despedida
BONUS - Información extra
AVISO: Este curso es similar al curso que imparto llamado "Angular: Pruebas unitarias con Jest". Se realizan las pruebas unitarias al mismo proyecto, pero utilizando la sintaxis de Jasmine en lugar de Jest.