Repaso
English
TestingBaseTST-27

En testing, ¿qué es un mock?

Opciones

  1. Un test que falla, escrito antes que el código
  2. Un objeto falso que sustituye a una dependencia real (Opción correcta)
  3. Una copia del entorno de producción para pruebas
  4. Un test muy lento que se ejecuta de vez en cuando

Respuesta

Un objeto falso que reemplaza a una dependencia real (como un cliente de API) y registra cómo se usó

Por qué

Las dependencias reales pueden ser lentas, costar dinero o ser impredecibles (enviar un correo, cobrar una tarjeta, llamar a una API).

Un mock las sustituye durante un test: decides qué devuelve, y después puedes comprobar cómo lo llamó tu código, por ejemplo '¿se llamó a send_email una vez con esta dirección?'.

En Python: unittest.mock.Mock y patch.

Recuerda

Mock = sustituto que controlas e inspeccionas.

Términos clave

Practica esta pregunta en Repaso