GuíaIntermedio

Guía de Testing de Aplicaciones Backend

Aprende testing backend completo: pytest fundamentals, fixtures, mocking con unittest.mock y pytest-mock, integration testing con test databases y factories, E2E testing con FastAPI TestClient, coverage con pytest-cov, TDD workflow, y CI con GitHub Actions. Construye un test suite production-grade con 80%+ coverage.

48
lecciones
6
módulos
Inglés · Español
disponible en
certificado
Incluido en el Club
acceso
NIEVA

Resultados

Lo que vas a poder hacer

  • Pytest Fundamentals: Fixtures, parametrize, markers, conftest.py, plugins
  • Unit Testing: Funciones, clases, aislamiento de dependencias, assertions avanzadas
  • Mocking: unittest.mock, pytest-mock, patching, side effects, spec
  • Integration Testing: Test databases, SQLAlchemy fixtures, factories con factory_boy
  • E2E Testing: FastAPI TestClient, workflows completos, auth testing
  • Coverage: pytest-cov, coverage reports, thresholds, branch coverage
  • TDD: Red → Green → Refactor, test-first development
  • CI: GitHub Actions, test pipeline, coverage checks automáticos

Antes de empezar

Qué necesitas traer

Requisitos y materiales

  • FastAPI Fundamentals y Advanced completadas (#6-#7)
  • PostgreSQL & SQLAlchemy Guide completada (#8)
  • Authentication & Authorization Guide completada (#9)
  • API funcional con endpoints, modelos y auth

Contenido

El temario, módulo por módulo

Abre cualquiera para ver sus lecciones.

  • Módulo 1: Pytest Fundamentals
  • Pytest vs unittest, setup y primer test
  • Fixtures fundamentales y scopes
  • Parametrize: cobertura sin duplicación
  • Markers y filtering
  • conftest.py: organización profesional
  • Estructura de proyecto y plugins esenciales
  • Proyecto: primeros tests estructurados

  • Módulo 2: Unit Testing y Mocking
  • Unit testing puro: funciones sin dependencias
  • `unittest.mock` fundamentos
  • pytest-mock: la fixture `mocker`
  • `side_effect`: comportamientos complejos
  • `spec` y `autospec`: mocks que respetan la interfaz
  • Service + Repository pattern con mocks
  • Proyecto: unit tests con mocks para business logic

  • Módulo 3: Integration Testing
  • Test database: SQLite in-memory vs Postgres real
  • SQLAlchemy fixtures: el patrón canónico
  • factory_boy: datos de test que escalan
  • Tests del repository contra DB real
  • Tests de services con DB + APIs externas
  • Mocking de APIs externas con respx y responses
  • Proyecto: integration test suite completo

  • Módulo 4: E2E con FastAPI TestClient
  • TestClient setup + `dependency_overrides`
  • CRUD completo end-to-end
  • `httpx.AsyncClient` para tests async
  • Auth flows completos
  • Error responses: 400, 401, 403, 404, 422
  • Pagination, filtering, query params, headers
  • Proyecto: E2E test suite completo

  • Módulo 5: Coverage, TDD y CI
  • pytest-cov: setup y reportes
  • Interpretar coverage: line vs branch
  • Coverage thresholds y exclusions
  • TDD: red → green → refactor
  • GitHub Actions: workflow básico
  • PR checks, coverage badges, reportes
  • Proyecto: pipeline CI con tests + coverage

  • Módulo 6: Proyecto — Test Suite Completo
  • Setup + selección de proyecto
  • Test strategy document (TESTING.md)
  • Construir unit test suite
  • Construir integration test suite
  • Construir E2E test suite
  • Coverage + CI pipeline integration
  • Reporte final + portfolio piece

Dónde encaja

Esta guía es parte de algo más grande

Se estudia dentro de estos programas, con acompañamiento y fechas.

Dudas frecuentes

Lo que suele preguntarse

Empieza cuando quieras

Reseñas

Lo que dicen los estudiantes

Estas reseñas son de estudiantes inscritos que completaron al menos el 50% del curso. Moderamos las reseñas solo por motivos de contenido (spam, lenguaje ofensivo, datos personales), nunca por ser críticas o negativas.

Aún no hay reseñas aprobadas.

¡Sé el primero en compartir tu experiencia!