Creando unit tests para componentes
Clase 57 de 80 • Curso de Angular 4
Contenido del curso
Introducción a Angular 4
Setup del Ambiente de Trabajo
Conceptos Básicos
- 9

Para qué nos sirven los Módulos y Componentes
08:10 min - 10

Tipos de Data Binding y String Interpolation
05:05 min - 11

Property Binding
06:04 min - 12

Event Binding
03:04 min - 13

ngModel y two way binding en Angular
05:12 min - 14

Directivas en Angular 4 y ngFor
07:39 min - 15

Cómo usar ngIf en Angular 4.0
03:04 min - 16

Instalando librerías con NPM (Google Maps)
06:48 min
Directivas
Angular UI
Ruteo
- 24

Qué hace el router en Angular 4
03:11 min - 25

Implementación de Rutas en el Proyecto
07:36 min - 26

Href vs router link: navegación angular
02:27 min - 27

Resaltando el link activo con CSS para indicar visualmente en que componente nos encontramos
01:53 min - 28

Parámetros de ruta con routerLink en Angular
06:01 min - 29

Parámetros tipo Query
03:53 min - 30

Creando una vista de detalle para el proyecto
09:06 min - 31

Página de contacto Angular desde cero
07:45 min
Servicios
- 32

Servicios en Angular para compartir datos
00:58 min - 33

Creando nuestro propio servicio
07:11 min - 34

Configurando Firebase en nuestro proyecto
05:12 min - 35

Guardando Records en Firebase
12:20 min - 36

Obteniendo records desde Firebase
08:40 min - 37

Obteniendo coordenadas usando Geocoding
13:45 min - 38

Reto: Crear una vista para editar records
09:29 min - 39

Mostrando marcadores en el Mapa de Google
03:02 min
Conexión Remota (Http y Sockets)
Pipes
Animaciones en Angular
Testing en Angular
Autenticación y Protección de Rutas
- 59

Cómo funcionan los JSON Web Tokens
03:05 min - 60

Preparación de vistas para login y registro
11:58 min - 61

Registrando usuarios
07:29 min - 62

Loggeando usuarios
07:18 min - 63

Guardias canActivate en Angular: Proteger rutas con autenticación
11:09 min - 64

Cómo integrar Facebook login con Firebase
09:08 min - 65

Logout en Angular con Firebase
05:28 min
RxJS
- 66

Cómo funciona RxJS con metáfora de oficina
02:09 min - 67

Mostrar email del usuario logueado en Angular
06:32 min - 68

Uso de los Observables
04:30 min - 69

Cómo implementar type ahead con Observables y RxJS
10:43 min - 70

Implementar formularios reactivos con type ahead
07:58 min - 71

Cómo rellenar campos automáticamente con Google
01:28 min
Publicando nuestro proyecto
Fin del curso
Sesiones en vivo
Contenido Bonus
Crear un test de componente en Angular es más simple de lo que parece. Con Angular CLI, TestBed y un test básico con expect, puedes verificar que tu componente exista y se inicialice correctamente. Aquí verás el flujo esencial para generar el componente, configurar el entorno de pruebas y ejecutar el spec.
¿Cómo generar un componente con Angular CLI?
Antes de escribir el test, conviene crear el componente con la utilidad de línea de comandos. Esto agiliza el trabajo y prepara la estructura de archivos necesaria.
- Ejecuta el comando para generar el componente.
ng g c place
- Se crean archivos: CSS, HTML, .ts y el spec.ts del componente.
- Puedes limpiar el spec.ts eliminando los tests iniciales para empezar desde cero.
Este enfoque aprovecha la Angular CLI para producir un PlaceComponent y su prueba asociada. Así mantienes orden y consistencia desde el inicio.
¿Cómo configurar el entorno de pruebas con TestBed?
La base de la prueba de un componente en Angular está en TestBed. Se configura el módulo de testing y se declaran los componentes que participarán, igual que en el app module con sus declarations.
- Usa beforeEach para preparar el entorno antes de cada test.
- Declara el PlaceComponent dentro de declarations en configureTestingModule.
- Cierra la configuración y deja listo el ambiente de ejecución.
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [PlaceComponent]
});
});
Punto clave: las declarations en este módulo de pruebas equivalen a las de tu app module. Esto asegura que el componente exista en el contexto correcto.
¿Cómo escribir y ejecutar un test básico de componente?
La verificación inicial es comprobar que el componente se crea. Para esto se obtiene un fixture, se accede a la componentInstance y se evalúa con expect que sea truthy.
- Crea el fixture con TestBed.createComponent.
- Obtén la instancia con fixture.debugElement.componentInstance.
- Valida con expect(app).toBeTruthy().
it('should create the app', () => {
const fixture = TestBed.createComponent(PlaceComponent);
const app = fixture.debugElement.componentInstance;
expect(app).toBeTruthy();
});
Para ejecutar las pruebas:
ng test
- Se abre un navegador y verás los resultados de los specs.
- El test del PlaceComponent debe pasar si la instancia existe.
- También se ejecutan los tests del AppComponent generados previamente.
Este flujo refuerza habilidades clave: uso de Angular CLI para scaffolding, configuración de TestBed con declarations, manejo de fixture y debugElement, y aserciones con expect y toBeTruthy.
¿Te gustaría que el siguiente paso sea inyectar un servicio en la prueba y validarlo? Cuéntame en los comentarios qué servicio probarías primero y por qué.