Kata para practicar dobles de test creando un sistema de login con autenticación.
Una kata simple y efectiva para practicar test doubles. El objetivo es testear un LoginDialog que tiene una dependencia de Authentication sin usar ninguna librería de mocking.
Implementar tests para un diálogo de login que depende de un servicio de autenticación, creando manualmente todos los tipos de dobles de test necesarios.
No usar librerías de mocking: Debes crear tus propios test doubles
Practicar todos los tipos: Dummy, Stub, Spy, Strict Mock y Fake
Entender las diferencias: Cada tipo de doble tiene un propósito específico
Dummy: Objetos que se pasan pero nunca se usan realmente
Stub: Proveen respuestas predefinidas a las llamadas del test
Spy: Similar a stubs pero registran las llamadas para verificación
Strict Mock: Pre-programados con expectativas y pueden lanzar excepciones
Fake: Implementaciones funcionales pero simplificadas
Java
JUnit 5
Maven
El proyecto incluye:
Diagrama explicativo de los tipos de dobles
Rama con ejemplo usando Mockito para comparación
Material utilizado en charlas sobre testing
Esta kata se utiliza en la charla "El Arte de la Guerra…del testing: Dobladores de Pruebas", presentada en eventos como Codemotion Madrid 2024.