Introducción
Desarrollar una cultura de testing
- Análisis de situación
- Primeros objetivos
- Organización del trabajo
- Beneficios
- Cuando es difícil testear
- ¿Cuánto tiempo se necesita para alcanzar un buen nivel?
La dualidad del testing
- Separación de intereses
1. Guía para testear con dobles
- Los dobles se usan para tener bajo control el comportamiento de los colaboradores en una situación de test
- Se llaman dobles, no mocks, y los hay de varios tipos
1.1. Dummies
1.2. Stubs
1.3. Mocks y Spies
- Mocks y spies acoplan el test a la implementación de la unidad bajo test
- Cómo limitar la fragilidad de los tests que usan mocks y spies
1.4. Fakes
- Un ejemplo de Fake
Patrones y heurísticas para trabajar con dobles en los tests
2.1. Patrones de uso de dobles de test
- Usar o no usar dobles
- Utilizar una librería de dobles
- Creación básica de dobles
- Crear dummies
- Crear Stubs
- Mocks: Verificar que un colaborador ha sido llamado
- Crear el doble de una clase que no existe
- Crear el doble de una clase que requiere constructor
- Testeando con dependencias no inyectadas
2.2. Anti-patrones
- Dobles sabihondos (smart-ass doubles)
- Demasiadas expectativas
2.3. Heurísticas para testear con dobles
- Let It Fail: una heurística para descubrir cómo hacer los dobles
- To Mock or not to Mock? Una heurística para determinar qué colaboradores necesitan stubs
- Usar mocks para entender el legacy
- Lo que pasa en el doble se queda en el doble
- Aplicación al testeo de código desconocido
2.4. Testing expresivo
- Esto me suena de algo, ¿no?
2.5. La performance de los métodos para crear test doubles
- Velocidad de los tests según la metodología para crear dobles
- Un análisis más profundo
- Conclusiones