Pruebas de Navegación con Angular y RouterTestingModule
Clase 35 de 38 • Curso de Unit Testing para MEAN con Jasmine
Contenido del curso
- 11
Pruebas Unitarias con Jasmine: Uso de spyOn para Simular Funciones
03:08 - 12

Configuración de Jasmine para Pruebas de Frontend
07:48 - 13

Configuración de Jasmine en Node.js para Pruebas Unitarias
06:18 - 14

Pruebas Unitarias en JavaScript con Jasmine: Uso de Funciones Básicas
09:10 - 15
Pruebas Unitarias con Jasmine: Matchers, Espías y Ciclos de Vida
04:11
- 16

Pruebas Unitarias con Jasmine en Node.js y Angular
02:54 - 17

Configuración de Pruebas Unitarias en Node.js con Jasmine
07:47 - 18

Configuración avanzada de Jasmine y reportes en Node.js
07:00 - 19

Implementación de Cobertura de Código con InstaBoot.js y NGC
03:29 - 20

Pruebas Unitarias de Servidor Express con Método GET en Node.js
14:10 - 21

Pruebas Unitarias de Código 500 en Métodos GET
04:44 - 22

Pruebas del Método PAUSE en Desarrollo Web
12:24 - 23

Pruebas de Métodos POST, PUT y DELETE en JavaScript Asíncrono
07:49
- 24

Pruebas Unitarias e Integración en Angular con Jasmine
03:53 - 25

Pruebas Unitarias de Componentes en Angular con Jasmine
09:21 - 26

Pruebas Unitarias en Angular: Rutas y Ciclos de Vida con Jasmine
08:22 - 27

Pruebas Unitarias en Angular: Simulación de Servicios y Componentes
12:48 - 28

Pruebas Unitarias en Formularios Reactivos con Angular
10:48 - 29

Pruebas Unitarias Avanzadas en Formularios Reactivos de Angular
10:03 - 30

Pruebas Unitarias en Angular: Navegación y Outputs HTML
07:48 - 31

Pruebas Unitarias en Angular: Testeo de Componentes y Servicios
14:56 - 32

Pruebas Unitarias en Jasmine: Espías y Stubs en Angular
10:55 - 33

Pruebas de Espionaje en Objetos Globales y Métodos en JavaScript
07:21
¿Cómo probar un sistema de navegación en Angular?
¡Bienvenido a un viaje de aprendizaje donde pondremos a prueba el sistema de navegación en Angular! Como desarrolladores, realizar pruebas efectivas es fundamental para garantizar que nuestras aplicaciones funcionen sin problemas. Aquí, en este contenido, te guiaremos a través de los pasos esenciales para realizar estas pruebas utilizando Angular. Te prometo que, al final, tendrás la confianza para enfrentar desafíos similares en tus proyectos.
¿Qué es el NavigationService y cómo lo configuramos?
Dentro de la carpeta de servicios, contamos con un recurso esencial llamado NavigationService. Este servicio se encarga de controlar la navegación en nuestra aplicación mediante el router de Angular. Este es fundamental porque en su interior inyecta el router de Angular y ofrece funcionalidades como NavigateTo, para movernos entre las rutas.
Para configurar las pruebas:
- Dependencias Importantes:
- Necesitamos incluir
RouterTestingModule, una herramienta poderosa para trabajar con el router durante el proceso de testing.
- Necesitamos incluir
- Configurar el Testbed:
- Se requiere una variable que almacene el
NavigationService. - En el bloque
BeforeEach, configura el Testbed para asegurarse de inyectar el servicio.
- Se requiere una variable que almacene el
Un ejemplo de cómo codificar estos pasos es:
import { TestBed } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';
import { NavigationService } from './navigation.service';
beforeEach(() => {
TestBed.configureTestingModule({
imports: [RouterTestingModule],
providers: [NavigationService]
});
});
¿Cómo aseguramos la cobertura con el 100% de pruebas?
Realizar pruebas es vital, y queremos que nuestro código logre una cobertura completa. Te enseñaré cómo lograrlo probando métodos clave del NavigationService.
- Probar Navegaciones Específicas:
- Métodos como
GoToPinsyGoToEditModeson objetivos cruciales para el testing.
- Métodos como
- Uso de Spies:
- Implementamos "spies" para observar y validar que las funciones se llaman correctamente.
- Validamos que el método
Navigatedel router reciba los argumentos correctos.
Un ejemplo de prueba puede ser:
it('should navigate to AppPins', () => {
const navigateSpy = spyOn(TestBed.inject(Router), 'navigate');
navigationService.GoToPins();
expect(navigateSpy).toHaveBeenCalledWith(['AppPins']);
});
- Verificación de Resultados:
- Con cada ejecución de pruebas, verificamos en la consola que el número de tests aprobados aumenta.
- Buscamos obtener el mensaje de éxito que indica una cobertura del 100%.
¿Qué pasos seguir después de asegurar el sistema de navegación?
Con un sistema de navegación sólidamente probado, ¡estás listo para seguir avanzando! A continuación, nos espera el desafío de probar las peticiones HTTP de nuestros servicios, lo cual es esencial para una aplicación Angular robusta. Usaremos métodos similares y el poderoso módulo de testing de Angular para asegurar que nuestras aplicaciones no solo navegan sin problemas, sino que también interactúan correctamente con servidores de datos.
¡Adelante, sigue aprendiendo y pon en práctica todo lo que has adquirido hasta ahora! Con cada prueba, te acercas a convertirte en un experto en Angular. Confiamos en que ya estás en el camino correcto para dominar este campo.