¿Qué debería simular (mock) normalmente un unit test?
Opciones
- La clase bajo prueba, para que el test sea simple
- Los límites externos: red, base de datos, reloj, aleatoriedad (Opción correcta)
- Las funciones auxiliares puras sin efectos secundarios
- Nada, porque los mocks son mala práctica
Respuesta
Los límites externos: red, base de datos, reloj, aleatoriedad
Por qué
Haz mock de lo que es lento, impredecible o está fuera de tu control: APIs HTTP, la base de datos, la hora actual, los números aleatorios.
NO hagas mock del código que estás probando ni de helpers internos simples: entonces el test solo comprueba tus mocks, y cada refactor lo rompe.
Recuerda
Haz mock de los límites, no de tu propia lógica.