Skills que aprenderás
Convocatorias
No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.
Recursos
No hay recursos disponibles todavía para esta convocatoria
Este curso está dirigido a desarrolladores Angular con experiencia básica en el framework que necesitan incorporar una práctica de testing sistemática a su flujo de trabajo.
Cubre la configuración del entorno de testing con Angular CLI, la estructura de pruebas con Jasmine, el uso de TestBed para aislar componentes y servicios, los patrones de tests para Input/Output, DOM binding y renderización condicional, el uso de SPY para interceptar dependencias en tests de servicios, la depuración de suites fallidas y el análisis del informe de cobertura.
Al finalizar, el participante será capaz de escribir, organizar y mantener una suite de tests que cubra componentes y servicios con un mínimo del 80% de cobertura en el archivo objetivo.
Al finalizar el curso, el participante será capaz de:
ng test --code-coverage, identificando líneas no cubiertas e incorporando los casos de prueba necesarios para alcanzar un mínimo del 80% en el archivo objetivo.Configuración del entorno con Angular CLI 17+; archivos de test generados al crear componentes y servicios; estructura de directorios típica; introducción a Jasmine: describe, it, expect y matchers básicos; beforeEach y afterEach; tests síncronos y asíncronos con fakeAsync/tick y async/await; tipos de pruebas en Angular: unitarias, de integración y E2E; beneficios del testing y relación con TDD y BDD.
Configuración de TestBed.configureTestingModule para un componente standalone; creación del fixture y acceso a la instancia; ciclo detectChanges y cuándo es obligatorio; assertions sobre propiedades del componente; errores frecuentes al configurar el módulo de test y cómo diagnosticarlos.
Binding de @Input: asignar valores y verificar su reflejo en el DOM; @Output y EventEmitter: suscribirse al evento y verificar el payload emitido; queries del fixture: DebugElement, nativeElement, By.css; renderización condicional con @if y ngIf; simulación de eventos de usuario —click, input—; inyección de dependencias de servicio con mocks y stubs en TestBed; diferencia entre mock, stub y spy.
Tests de servicios sin dependencias externas; inyección del servicio vía TestBed.inject; uso de spyOn para interceptar métodos de dependencias; configuración de returnValue, callFake y callThrough; verificación de que el servicio llama a sus dependencias con los argumentos correctos; tests de servicios que consumen otros servicios encadenados.
Lectura e interpretación de errores de Jasmine: NullInjectorError, fixture no actualizado, spy no configurado, operación async sin resolver; estrategia de depuración: aislar el test fallido con fdescribe/fit, revisar el stack trace y verificar la configuración del módulo; generación del informe de coverage con ng test --code-coverage; lectura del informe HTML: statements, branches, functions y lines; identificación de líneas no cubiertas y diseño de casos de prueba para alcanzar el umbral del 80%.
npm install -g @angular/cli.Se requiere experiencia práctica en TypeScript intermedio —tipos, clases, decoradores, async/await— y Angular fundamentals: componentes, servicios, inyección de dependencias y ciclo de vida.
Es necesario conocer la Angular CLI y haber creado y ejecutado al menos un proyecto Angular. No es necesario tener experiencia previa en testing.