Repaso
English
TestingAvanzadoTST-18

¿Qué añade patch(..., autospec=True)?

Opciones

  1. Mocks más rápidos, porque se saltan el objeto real
  2. El mock usa la firma real, así que las llamadas incorrectas fallan (Opción correcta)
  3. Assertions automáticas en cada llamada
  4. Llamadas de red reales para la dependencia parcheada

Respuesta

El mock copia la firma del objeto real, así que fallan las llamadas con argumentos incorrectos o métodos inexistentes

Por qué

Un Mock simple acepta cualquier nombre de método y cualquier argumento. Si cambia la firma de la función real, tus tests siguen pasando mientras producción se rompe.

Con autospec=True, el mock copia los métodos y parámetros del objeto real, así que una llamada que sería inválida en lo real también falla en el test.

Recuerda

autospec = mocks que respetan la firma real.

Términos clave

Practica esta pregunta en Repaso