UNIT TestS con Angular

by @nicobytes
Desarrollar aplicaciones que incluyan métodos de pruebas como parte del proceso de desarrollo nos permite tener un producto maduro, escalable y estable.


Crear productos que agreguen valor y mantener la calidad del mismo es un gran reto.
Crear productos que agreguen valor y mantener la calidad del mismo es un gran reto.
los problemas
siempre
van a existir

Crear productos que agreguen valor y mantener la calidad del mismo es un gran reto.
gestionar el riesgo

Crear productos que agreguen valor y mantener la calidad del mismo es un gran reto.

Crear productos que agreguen valor y mantener la calidad del mismo es un gran reto.
- Acceptance Testing ¿Estamos construyendo el producto correcto?
- Usability Testing ¿Construimos el producto correcto?
- Unit Testing ¿Lo estamos construyendo correctamente?
- Performance Testing ¿Lo construimos de manera correcta?
Las pruebas unitarias reducen el riesgo en el software y una de las estrategias es: Desarrollo guiado por pruebas, más conocido por sus siglas en inglés TDD (Test Driven Development).
¿cÓMO LO HACEMOS?
i know TDD
¿Qué es TDD?
Es una metodología donde se basa en tres pasos
Escribir pruebas
Escribir código
Refactorización



2 = Pruebas Unitarias
0 = Pruebas de INTEGRACIÓN

Herramientas



ANGULAR TOOLS TESTING

Primeras pruebas




Refactorizar



KARMA + JASMINE

Correr pruebas


jasmine

The A's Mantra
(Arrange, Act, Assert)
(Preparar, Actuar, Verificar)
calculator.spec.ts

coverage report

- TDD
- Herramientas: Karma + Jasmine
- Coverage report
- Arrange, Act and Assert
- Escribir pruebas en Jasmine
- Correr pruebas

ANGULAR UNIT TESTING FRAMEWORK

TEST FOR SERVICES WITH HTTP

consideraciones
1. Hacer solicitudes reales haría que nuestros test sean muy tardados
2. Ciertas API tiene limite de solitudes que si las corremos en test las vamos a sobrepasar innecesariamente.
3. Necesitamos correr pruebas de forma offline




¿Qué es Mocking?
Son objetos simulados (pseudoobjetos, mock object, objetos de pega) a los objetos que imitan el comportamiento de objetos reales de una forma controlada.

test for HTTP




test for components


Spies: services


-
Testing en Angular/Ionic
-
Pruebas unitarias: Configuración de entorno
-
Pruebas unitarias: Introducción a Jasmine
-
Pruebas unitarias: Providers
-
Pruebas unitarias: HttpClient

GRACIAS...
by @nicobytes
Unit tests con Angular
By Nicolas Molina
Unit tests con Angular
- 1,956