Pruebas en Python con pytest
Pruebas en Python con pytest (Тестирование на Python с pytest)
Resumen:
Introducción
El libro «Python Testing with pytest» (segunda edición, 2022) de Brian Okken es una de las guías más autorizadas y prácticas sobre pruebas en el lenguaje Python utilizando el framework pytest. Si desea no solo escribir pruebas, sino hacerlo de manera eficiente, elegante y con la mínima cantidad de código, este libro se convertirá en su manual de referencia. Está dirigido a desarrolladores que ya conocen los fundamentos de Python y ofrece una inmersión profunda en las capacidades de pytest, comenzando con assert básicos y terminando con plugins complejos e integración con CI/CD.
De qué trata el libro
El libro está estructurado como una guía práctica secuencial. El autor no sobrecarga al lector con teoría, sino que va directo al grano: muestra cómo escribir pruebas simples y luego gradualmente complica los ejemplos. Los temas principales cubiertos en el libro son:
- Fundamentos de pytest: instalación, ejecución, escritura de las primeras pruebas, uso de assert.
- Fixtures: creación, ámbito, parametrización de fixtures, fixtures integradas (tmp_path, capsys, monkeypatch).
- Parametrización de pruebas: decorador @pytest.mark.parametrize, combinación de parámetros, generación de datos de prueba.
- Marcadores (marks): marcadores integrados (skip, xfail, parametrize), creación de marcadores personalizados, filtrado de pruebas.
- Plugins y extensiones: descripción general de plugins populares (pytest-cov, pytest-mock, pytest-django, pytest-flask), escritura de plugins propios.
- Integración con otras herramientas: unittest, doctest, tox, nox, sistemas CI (GitHub Actions, Jenkins).
- Pruebas de aplicaciones web y API: trabajo con Flask, Django, FastAPI, pruebas de solicitudes HTTP.
- Técnicas avanzadas: uso de conftest.py, sobrescritura de fixtures, generación dinámica de pruebas, pruebas de código asíncrono.
Para quién es este libro
El libro será útil para una amplia gama de lectores:
- Desarrolladores principiantes de Python que ya saben escribir código pero quieren aprender pruebas desde cero.
- Programadores experimentados que usan unittest o nose y desean migrar a pytest, más moderno y flexible.
- Desarrolladores full-stack y backend que crean aplicaciones web con Flask, Django o FastAPI.
- Ingenieros DevOps responsables de configurar CI/CD y la calidad del código.
- Líderes de equipo y gerentes técnicos que quieren implementar una cultura de pruebas en su equipo.
Qué aprenderá el lector
Después de leer el libro, podrá:
- Escribir pruebas limpias, concisas y mantenibles con pytest.
- Usar eficazmente fixtures para preparar y limpiar el entorno de pruebas.
- Parametrizar pruebas para verificar múltiples escenarios sin duplicar código.
- Aplicar marcadores para agrupar, omitir y esperar errores en las pruebas.
- Integrar pytest con bibliotecas populares (mock, coverage, selenium).
- Configurar la ejecución automática de pruebas en sistemas CI.
- Escribir sus propios plugins para ampliar las capacidades de pytest.
- Probar aplicaciones web, API REST y código asíncrono.
Puntos fuertes del libro
- Enfoque práctico. Cada capítulo contiene numerosos ejemplos de código que se pueden ejecutar y modificar de inmediato. El autor no solo explica conceptos, sino que muestra cómo aplicarlos en proyectos reales.
- Actualidad. La segunda edición (2022) cubre las últimas versiones de pytest (7.x), nuevas funcionalidades como la parametrización de fixtures, un mejor manejo de la asincronía y herramientas modernas de CI/CD.
- Estructura. El libro está lógicamente organizado: de lo simple a lo complejo. Se puede leer secuencialmente o usar como referencia, transición