7. @edusanchezcon
Antes del primer test
Configurar nuestro entorno de desarrollo
Maven, Gradle, Webpack…
Framework (hola mundo)
Diseñar la arquitectura
Tests: separación UT/IT, Testing continuo
BD de test (en memoria, docker, compartida…)
10. @edusanchezcon
De fuera a dentro - Siguiendo el flujo
Teniendo clara la responsabilidad de cada clase y delegando el resto
Eligiendo los nombres adecuados
Me desentiendo de una unidad cuando paso a la siguiente
Ventajas:
¿Cómo lo aplico?
Evito el exceso de programación defensiva
13. @edusanchezcon
Test Fails
Hablemos de los tests
Prueban sólo una cosa, pero a fondo
Assert vs Verify
Unit Test vs Integration Test
Test primero vs Test al final
14. @edusanchezcon
Refactor
Hablemos de la refactorización
Qué NO es refactorizar
Hasta cuándo refactorizar
¿Se repite? Extraer superclase
¿Se repite? Extraer método
Qué es refactorizar
Patrones de diseño
DRYPSF
15. @edusanchezcon
Refactor
Hablemos de la refactorización
DRY también en los tests
ObjectMother pattern Template Method pattern
Creación de POJOs
Generadores aleatorios
Tests de integración con BD
Arrange, Act, Assert, Clean
16. @edusanchezcon
Ya están todos los tests
¿Significa que la aplicación no falla?
Puede fallar
Inyección de dependencias
. Casi seguro que falla
Configuración