Módulo 8: Proyecto Integrador — Test Suite Completa con TDD

Módulo 8: Proyecto Integrador — Test Suite Completa con TDD

Módulo 8: Proyecto Integrador — Test Suite Completa con TDD

Descripción de la cápsula

Este es el módulo final. Todo lo que aprendiste en los módulos 1-7 converge aquí: construirás una aplicación completa desde cero usando 100% TDD con Claude Code. Cada feature empieza como un test, Claude Code implementa, CI valida, y al final tienes una aplicación funcional con test suite profesional.

No es un ejercicio de práctica — es tu evidencia de dominio. El repositorio que produzcas demuestra una habilidad profesional que la mayoría de developers no tienen: construir software con TDD asistido por AI. Es tu pieza de portfolio.

La aplicación en sí es intencionalmente simple (API REST con auth, CRUD, business logic). Lo valioso no es la complejidad de la app — es el proceso TDD que la construyó, la test pyramid que la respalda, y el CI pipeline que la protege.


Contexto del Módulo

¿Dónde estamos?

Este es el Módulo 8 — final de la guía.

Todo lo que dominas:

  • ✅ Spec-first methodology (Módulo 1)
  • ✅ Unit tests con Claude Code (Módulo 2)
  • ✅ Integration y E2E tests (Módulo 3)
  • ✅ TDD workflow completo (Módulo 4)
  • ✅ Coverage ≥90% y edge cases (Módulo 5)
  • ✅ Mocking, fixtures, validation loops (Módulo 6)
  • ✅ CI con GitHub Actions (Módulo 7)

Lo que falta: Integrar todas las piezas en un proyecto real de principio a fin.

Tu trayectoria

Phase 1: ✅ Fundamentos
   Spec-first → Unit tests → Test pyramid

Phase 2: ✅ Workflows
   TDD workflow → Coverage → Mocking → Validation loops

Phase 3: Proyecto Final
   CI ✅ → Módulo 8: ← ESTÁS AQUÍ — Proyecto integrador

Objetivo Profesional

Construir una aplicación completa con test suite profesional usando 100% TDD con Claude Code, demostrando dominio de todo el workflow.

Al final de este módulo tendrás:

  • ✅ Una aplicación funcional construida con TDD
  • ✅ Test pyramid completa: unit + integration + E2E
  • ✅ Coverage ≥90% con edge cases cubiertos
  • ✅ Mocks para servicios externos
  • ✅ CI pipeline funcional en GitHub Actions
  • ✅ Un repositorio que sirve como portfolio

Progresión del Módulo

Mapa del Módulo

CápsulaTemaQué harás
02Planning spec-firstDiseñar la app, definir features como user stories, decomponerlas en tests
03Core features con TDDConstruir auth y CRUD usando ciclos TDD con Claude Code
04Business logic y edge casesImplementar lógica de negocio, coverage ≥90%, edge cases
05Mocks, fixtures, CIAgregar mocks para servicios, fixtures profesionales, CI pipeline
06Entrega y retrospectivaDocumentación final, validación del proyecto, retrospectiva del aprendizaje

Flujo de desarrollo

Semana 1 (cápsulas 02-03): Planificar y construir el core de la aplicación con TDD.

Semana 2 (cápsulas 04-06): Completar business logic, agregar mocking/CI, documentar y entregar.


La Aplicación

TaskFlow API — Gestor de Tareas con Equipos

Una API REST para gestión de tareas en equipo. Lo suficientemente compleja para requerir tests en múltiples niveles, pero completable en ~2 horas con TDD + Claude Code.

Features:

  1. Autenticación: Registro, login, tokens
  2. Equipos: Crear equipo, agregar miembros
  3. Tareas: CRUD con asignación a miembros, prioridades, estados
  4. Business logic: Transiciones de estado válidas, permisos por rol, estadísticas de equipo
  5. Filtrado: Tareas por estado, prioridad, asignee

Stack

  • Python 3.11+
  • FastAPI
  • pytest, pytest-cov, pytest-mock, hypothesis
  • GitHub Actions

Estructura

taskflow/
├── .github/
│   └── workflows/
│       └── tests.yml
├── app/
│   ├── __init__.py
│   ├── main.py
│   ├── models.py
│   ├── auth/
│   │   ├── __init__.py
│   │   ├── service.py
│   │   └── utils.py
│   ├── teams/
│   │   ├── __init__.py
│   │   └── service.py
│   └── tasks/
│       ├── __init__.py
│       ├── service.py
│       └── rules.py
├── tests/
│   ├── conftest.py
│   ├── unit/
│   │   ├── conftest.py
│   │   ├── test_auth.py
│   │   ├── test_teams.py
│   │   ├── test_tasks.py
│   │   └── test_rules.py
│   ├── integration/
│   │   ├── conftest.py
│   │   ├── test_auth_endpoints.py
│   │   ├── test_team_endpoints.py
│   │   └── test_task_endpoints.py
│   └── e2e/
│       ├── conftest.py
│       └── test_flows.py
├── requirements.txt
├── pyproject.toml
└── README.md

Conexión con Todo lo Aprendido

MóduloCómo lo usas aquí
M1: Spec-firstPlanificas features como tests antes de implementar
M2: Unit testsTests de funciones aisladas (auth, rules, validators)
M3: Test pyramidTests en 3 niveles: unit, integration, E2E
M4: TDD workflowCada feature se construye con ciclos red-green-refactor
M5: CoverageTarget ≥90% con edge cases y property tests
M6: MockingMocks para servicios externos, fixtures en conftest.py
M7: CIPipeline en GitHub Actions que corre toda la suite

Límites: Qué NO Se Hará

  • ❌ Frontend — Solo API REST
  • ❌ Database real (PostgreSQL) — Usamos in-memory para simplificar
  • ❌ Deploy a producción — CI pero no CD
  • ❌ Microservicios — Una sola aplicación monolítica
  • ❌ Autenticación OAuth/SSO — Solo username/password con tokens simples

Evidencia de Éxito

Al terminar este módulo, sabrás que tuviste éxito si:

  • ✅ La aplicación funciona: puedes register, login, crear equipos, y gestionar tareas
  • ✅ La test suite tiene tests en 3 niveles (unit, integration, E2E)
  • ✅ Coverage ≥90% line coverage
  • ✅ CI pipeline corre exitosamente en GitHub Actions
  • ✅ El proceso TDD está documentado (ciclos, spec refinement, decisiones)
  • ✅ El repositorio es presentable como pieza de portfolio

Resumen

  • ✅ Este es el proyecto final que integra todos los módulos de la guía
  • ✅ Construirás una API REST completa usando 100% TDD con Claude Code
  • ✅ La aplicación tiene auth, equipos, tareas, y business logic
  • ✅ La test suite tiene tests en 3 niveles con ≥90% coverage
  • ✅ CI pipeline en GitHub Actions protege cada push
  • ✅ El repositorio es tu evidencia de dominio y pieza de portfolio

Próxima cápsula: Planning Spec-First — diseñar la aplicación desde los tests.


Recursos Adicionales

  1. FastAPI Documentation - Framework para la API
  2. pytest Documentation - Framework de testing
  3. GitHub Actions - CI pipeline
  4. Anthropic: Claude Code - Tu asistente de implementación
  5. Test-Driven Development by Example - La referencia de TDD

Módulo 8 — Testing with Claude Code Guide Todo lo aprendido, un proyecto, tu portfolio