Repaso
English

¿Qué debería simular (mock) normalmente un unit test?

Opciones

  1. La clase bajo prueba, para que el test sea simple
  2. Los límites externos: red, base de datos, reloj, aleatoriedad (Opción correcta)
  3. Las funciones auxiliares puras sin efectos secundarios
  4. 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.

Términos clave

Practica esta pregunta en Repaso