Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

242
Vistas
¿Cómo probar en FastAPI que el cliente llama al método correcto de punto final?

Estoy tratando de hacer una prueba unitaria que verifique si se llamó al método del punto final FastAPI deseado. Hizo mock.spy y durante las pruebas genera un error de que el método se llamó 0 veces. Aunque la salida incluso tiene un texto de verificación del método de punto final. ¿Cómo soluciono esto?

Mi prueba unitaria:

 client = TestClient(main.app) pytestmark = pytest.mark.unit @pytest.mark.unit def test_get_best_authors(mocker: MockFixture): mocker.spy(main, 'best_authors') client.get('/luchshie-avtori').json() assert main.best_authors.assert_called_once()

Mi código de punto final en main.py:

 @app.get("/luchshie-avtori") async def best_authors(): print('test ping') return requests.get('', params={'return': 'json'}).json()
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Lo que sucede es que el decorador app.get obtiene el objeto real de su función y lo almacena internamente en su aplicación FastAPI.

Cuando se burla de best_authors , no le importará a FastAPI, ya que usará el objeto que había almacenado previamente.

Honestamente, no lo probaría de esta manera. Tendría una prueba unitaria donde pruebo el comportamiento de best_authors .

Lo que en este caso sería burlarse requests.get y asegurarse de que se llamara y que el resultado se devolviera correctamente.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda