Pruebas unitarias en FastAPI con pytest y mocking
Clase 9 de 25 • Curso de Cursor AI Code Editor
Resumen
Las pruebas unitarias son esenciales para verificar que los endpoints desarrollados en FastAPI cumplen fielmente con los contratos estipulados inicialmente. A través de pytest, puedes generar fácilmente pruebas que validen estos contratos asegurando así la calidad del software.
¿Cómo indexar documentación en Cursor para generar pruebas?
El primer paso para crear pruebas unitarias efectivas con Cursor es indexar adecuadamente la documentación oficial de FastAPI. Esto te permitirá obtener acceso directo a las especificaciones necesarias para abordar correctamente las pruebas:
- Copia la dirección de documentación oficial.
- Dirígete a la sección settings en Cursor e indexa la documentación de FastAPI.
- Al indexarse, la información queda disponible para facilitar la creación automatizada de pruebas.
¿Qué instrucciones específicas necesita Cursor para realizar las pruebas correctamente?
Para conseguir que Cursor genere pruebas unitarias en FastAPI de acuerdo con los contratos y sin depender de una base activa, es importante indicar lo siguiente:
- Que Cursor construya pruebas unitarias usando pytest (previamente instalado en el entorno).
- Solicitar explícitamente que realice un mock sobre el servicio específico (por ejemplo,
courseService
) para evitar dependencias de ejecución. - Confirmar que Cursor implemente un refactor previo usando adecuadamente la inyección de dependencias de FastAPI para cumplir mejor con la estructura propuesta.
¿Cuáles son los pasos específicos que realiza Cursor al crear pruebas unitarias?
Al ejecutar la tarea, Cursor realiza cambios específicos sobre los archivos involucrados:
- Refactoriza funciones como
getCourses
, añadiendo dependencias mediante FastAPI (Depends
). - Crea mocks utilizando fixtures de pytest, un método altamente recomendado para simular respuestas y validar contratos de manera independiente al sistema integrado.
- Crea archivos de prueba completos (
test_main.py
) y complementarios (readme) detallando el alcance y las explicaciones generales del proceso.
¿Cómo ejecutar y depurar estas pruebas con Cursor?
Cursor provee herramientas que facilitan la ejecución y depuración paso a paso de tus pruebas, ofreciendo visibilidad de la información resultante:
- Usa
Command Shift P
para abrir opciones de prueba y configura pytest como framework predeterminado. - Configura el directorio raíz del servicio donde residen tus pruebas (generalmente
app
). - Ejecuta pruebas individuales mediante el botón play adjunto a cada función.
- Utiliza breakpoints para realizar depuración paso a paso tanto en las pruebas como en los endpoints mismos, explorando detalladamente respuestas JSON y respuestas HTTP.
¿Qué reto puedes intentar para afianzar tu conocimiento?
Para extender tus habilidades sobre pruebas e integración, puedes experimentar haciendo pruebas que interactúen directamente con el servicio implementado y la base de datos activa. Cuéntanos en comentarios qué pasos seguiste, qué dificultades encontraste y cómo lograste resolverlas para que otros puedan aprender de tu experiencia.