Proyecto
Python testing pyramid lab
Proyecto de testing en Python construido alrededor de una FastAPI SUT mínima para mostrar cómo aplicar la testing pyramid con una base clara, reproducible y fácil de extender.
Resumen
Proyecto de testing en Python centrado en la testing pyramid sobre una FastAPI SUT mínima, con tests unitarios para lógica de negocio, pruebas de integración API con FastAPI TestClient y validación de entrada con Pydantic. El proyecto incluye además una implementación con persistencia SQLite para contrastar pruebas rápidas y pruebas con almacenamiento real, y aplica quality gates en CI con ruff, pytest y coverage.
Stack: Python, FastAPI, Pytest, SQLite, Ruff, GitHub Actions
Qué hace
El proyecto busca enseñar cómo repartir las pruebas según su nivel de coste y alcance, evitando depender solo de tests lentos o demasiado acoplados. Para ello combina validación rápida de lógica de negocio, comprobaciones de integración API y una variante con persistencia real.
Cómo está construido
La solución se apoya en una aplicación mínima con FastAPI y validación de entrada con Pydantic, organizada para probar reglas de negocio, endpoints y comportamiento de persistencia. Además de la versión más ligera, incluye una implementación con SQLite para contrastar escenarios sin almacenamiento real y escenarios con base de datos.
Qué valida o automatiza
El flujo ejecuta tests unitarios y de integración con pytest y FastAPI TestClient, y aplica quality gates en CI con ruff, pytest y coverage. Esto permite comprobar rápidamente la lógica principal, validar respuestas de la API y medir cobertura con una ejecución reproducible en local y en GitHub Actions.
Puntos clave
- Aplicación mínima con FastAPI diseñada para trabajar la testing pyramid de forma práctica.
- Combinación de tests unitarios, integración API y variante con persistencia SQLite.
- Quality gates en CI con ruff, pytest y coverage para asegurar reproducibilidad y control.