Corriendo los tests
Clase 56 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
Las pruebas unitarias en Angular te dan confianza para mover el código sin miedo. Aquí verás cómo correr ng test y entender qué validan los unit tests por defecto en app.component.spec.ts, además de un ejemplo claro de cómo un pequeño cambio en el título “App” puede romper el spec y cómo corregirlo.
¿Cómo correr ng test con Karma y Jasmine en Angular?
Correr los tests es directo. Desde la consola, dentro del proyecto, ejecuta el comando y deja que Karma y Jasmine hagan su trabajo. Puede abrirse un browser como Chrome automáticamente.
ng test
- Se levantan los módulos y se detectan los specs automáticamente.
- Puede abrirse Chrome con la vista de resultados.
- Si aparece “el sitio no se puede alcanzar”, cambia localhost por 127.0.0.1 como antes se explicó en la configuración inicial.
¿Qué hace la consola y el browser durante los tests?
- La consola muestra la ejecución y el estado de los specs en tiempo real.
- El browser refleja los resultados y permite ver el detalle de cada prueba.
- Al dar clic en un test, se muestra información extra y se vuelve a correr ese caso individual.
¿Qué validan los unit tests por defecto del app.component.spec.ts?
Al iniciar, todos pasan en verde si la app está intacta. Se listan pruebas como:
- Should create the app.
- Should have as title "App".
- Should enter title in an H1.
Estos unit tests confirman que el componente principal se crea, que el título es el esperado y que aparece en el H1. Al hacer clic en cada caso, verás datos adicionales y su re-ejecución inmediata. Esto acelera el diagnóstico cuando algo falla.
¿Cómo ver resultados y reejecutar un test individual?
- Haz clic sobre el nombre del spec en el browser.
- Observa los detalles que aporta y su estado actualizado.
- Verás el marcador en verde si pasa o en rojo si falla.
¿Cómo provocar y corregir errores cambiando el título App?
Un ajuste mínimo en el código puede romper un spec. Por ejemplo, editar el título en app.component.ts para que ya no sea exactamente "App" (agregar mayúsculas o un signo de admiración) hace que fallen pruebas como “Should have as title "App"” o que el texto esperado “Welcome to App” ya no coincida.
- Cambiar el título en el componente provoca discrepancias con lo que el spec espera.
- Actualizar el texto, por ejemplo “Welcome to App” con signos de admiración, puede arreglar una falla, pero no todas si el nombre “App” también cambió.
- Ajustar el spec para que coincida exactamente con el nuevo valor vuelve todo a success.
En la práctica, esto muestra la utilidad de los tests: si algo básico cambia, lo detectas al instante y decides si corriges el código o actualizas la expectativa.
¿Qué aprendizaje práctico aportan los tests en un caso de pagos?
Imagina un flujo crítico: aceptar pagos. Si un producto cuesta 10,000 pesos y hay interés, puedes probar que el total cobrado sea igual al valor en la tabla más el interés. Si difiere por un centavo, debe fallar. Esa es la esencia de una prueba unitaria bien definida: proteger lo importante con una validación precisa.
¿Tienes dudas o un caso real que quieras validar con specs en Angular? Comenta y lo revisamos juntos.