GuíaIntermedio
Guía de Arquitectura de Framework de Automatización
Aprende a pasar de "scripts de test sueltos" a un framework de automatización mantenible con pytest. Esta guía cubre la arquitectura de fixtures como columna vertebral del framework, la jerarquía de `conftest.py`, cómo organizar la suite en capas (unit/integration) o por feature, los marcadores personalizados y la configuración (`pytest.ini`/`pyproject.toml`) como contrato del framework, una biblioteca de utilidades y aserciones compartidas en vez de copy-paste, cómo extender pytest con plugins y hooks propios, y la arquitectura de datos y entornos que mantiene el framework portátil entre local y CI. Cierra con un proyecto capstone: diseñar y construir un framework de tests real para Reservo, con fixtures compartidas, marcadores, biblioteca de helpers y configuración por entorno.
- 64
- lecciones
- 8
- módulos
- Inglés · Español
- disponible en
- Sí
- certificado
- Gratis
- acceso
Resultados
Lo que vas a poder hacer
- Reconocer cuándo una suite de tests deja de ser "scripts sueltos" y necesita arquitectura, y el costo real del setup duplicado
- Diseñar la arquitectura de fixtures como columna vertebral del framework: jerarquía de `conftest.py`, decisiones de scope y composición de fixtures
- Organizar la suite en capas (unit/integration) o por feature, con un `conftest.py` propio por carpeta
- Configurar marcadores personalizados y `pytest.ini`/`pyproject.toml` como el contrato del framework, y seleccionar subconjuntos de tests con `-m`
- Construir una biblioteca de utilidades y aserciones compartidas, evitando el DRY que esconde lo que el test realmente verifica
- Extender pytest con plugins y hooks propios (`pytest_addoption`, hooks de fixture y de reporte)
- Diseñar la arquitectura de datos y entornos (builders compartidos, configuración local vs. CI) manteniendo el framework portátil
- Construir de punta a punta un framework de tests completo para Reservo como proyecto capstone
Antes de empezar
Qué necesitas traer
Es para ti si...
- Devs que ya escriben tests individuales con pytest pero cuya suite creció y se volvió difícil de mantener
- Equipos con setup de tests duplicado entre cientos de archivos
- Devs que quieren pasar de una carpeta de tests desorganizada a un framework de automatización propio y portátil
Requisitos y materiales
- Conocimientos de pytest básico y TDD (o Guía de Testing Fundamentals & TDD completada)
- Python instalado (3.10+) y familiaridad con la línea de comandos
- Experiencia escribiendo al menos algunos tests con pytest
Contenido
El temario, módulo por módulo
Abre cualquiera para ver sus lecciones.
- 1. Presentación del módulo: una suite es un sistema
- 2. El impuesto del setup copy-paste
- 3. Qué es (y qué no es) un framework de tests
- 4. Las cuatro capas de un framework
- 5. DRY contra claridad: la tensión del test
- 6. La suite que no escala
- 7. El retorno de invertir en arquitectura
- 8. Mini-proyecto: extrae tu primera fixture compartida
- 1. Presentación del módulo: la fixture como columna vertebral
- 2. La fixture como pieza reutilizable
- 3. `conftest.py` y su jerarquía
- 4. El scope como decisión de arquitectura
- 5. Componer fixtures: el grafo de dependencias
- 6. `yield`: setup y teardown en una sola fixture
- 7. Fixtures que fabrican y `autouse`
- 8. Mini-proyecto: la columna de fixtures de Reservo
- 1. Presentación del módulo: la forma de la suite
- 2. Por qué importa la forma de la suite
- 3. Por capa contra por feature
- 4. Un `conftest.py` por carpeta
- 5. Unit e integration como capas físicas
- 6. Descubrimiento de tests y `testpaths`
- 7. La estructura como documentación viva
- 8. Mini-proyecto: reorganiza una suite plana de Reservo en capas
- 1. Presentación del módulo: la capa de configuración
- 2. Qué es un marcador y por qué
- 3. Marcadores personalizados en Reservo
- 4. Registrar marcadores y `--strict-markers`
- 5. El archivo de configuración central
- 6. `addopts` y las opciones por defecto
- 7. Seleccionar con expresiones `-m`
- 8. Mini-proyecto: marca y configura la suite de Reservo
- 1. Presentación del módulo: la biblioteca de código de apoyo
- 2. Helpers, fixtures y copy-paste
- 3. La aserción personalizada
- 4. `__tracebackhide__`: que el fallo apunte al test
- 5. El harness: setup y teardown como módulo
- 6. DRY sin magia escondida
- 7. Cuándo un helper vale
- 8. Mini-proyecto: la biblioteca de utilidades de Reservo
- 1. Presentación del módulo: la capa de extensión
- 2. El `conftest.py` como plugin local
- 3. `pytest_addoption` y leer la opción
- 4. `pytest_collection_modifyitems`
- 5. Hooks de reporte: header y resumen
- 6. Conftest local vs plugin empaquetado
- 7. ¿Plugin o fixture? La regla
- 8. Mini-proyecto: opción `--env` y resumen del framework
- 1. Presentación del módulo: la capa de datos y entornos
- 2. El problema de los datos de test a escala
- 3. La fábrica como módulo compartido
- 4. Defaults sensatos
- 5. Config por entorno con `--env` y variables
- 6. La fixture `settings` parametrizada
- 7. Portabilidad: nada de rutas absolutas
- 8. Mini-proyecto: fábrica y config por entorno para Reservo
- 1. Presentación del módulo: el framework completo de Reservo
- 2. La columna de fixtures y la jerarquía de `conftest.py`
- 3. La estructura de carpetas y los marcadores
- 4. La biblioteca de helpers y aserciones
- 5. El plugin local y el hook de resumen
- 6. La factory de datos y la config por entorno
- 7. Ensamblar y correr la suite completa
- 8. Proyecto: arma el framework de tests para Reservo
Dudas frecuentes
Lo que suele preguntarse
Sin límite. Es una guía gratuita: entras cuando quieras, las veces que quieras.
No. Los módulos están ordenados de menos a más, pero puedes saltar al que necesites. Tu progreso se guarda por lección.
Lo que haga falta está en «Qué necesitas traer», arriba. Si no aparece nada ahí, puedes empezar desde cero.
En el grupo de WhatsApp del Club, y cada quince días hay un live con un instructor donde se resuelven dudas en vivo.
Sí. Al terminar todas las lecciones se emite automáticamente, con un código verificable que puedes compartir en LinkedIn.
Empieza cuando quieras
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!