Repaso
English
TestingAvanzadoTST-03

¿Qué objetivo de patch hace que este test intercepte la llamada HTTP?

# app/services.py
from requests import get

def fetch_user(uid):
    return get(f"https://api.example.com/users/{uid}").json()

Opciones

  1. patch("requests.get")
  2. patch("app.services.get") (Opción correcta)
  3. patch("requests.api.get")
  4. patch("get")

Respuesta

patch("app.services.get")

Por qué

from requests import get crea un nombre NUEVO get dentro del módulo app.services, que apunta a la función.

patch("requests.get") reemplaza el nombre dentro del módulo requests, pero app.services.get sigue apuntando a la función original, así que la llamada HTTP real ocurre.

Regla: haz patch del nombre donde se USA (donde se busca), no donde se define.

Recuerda

Haz patch donde se busca el nombre.

Términos clave

Practica esta pregunta en Repaso