pytest / Habilidad de Pruebas
Generación de pruebas y mejora de la cobertura: una Habilidad de Agente para Python 3.14 y pytest.
Busca en todas las páginas de la documentación
Generación de pruebas y mejora de la cobertura: una Habilidad de Agente para Python 3.14 y pytest.
Audita un módulo y añade pruebas: diseño de tests/, fixtures de conftest.py, casos límite parametrizados, integración de pytest.mark/lentos, httpx.MockTransport o pytest-httpx para HTTP, reversión de transacciones de base de datos y pytest --cov de CI con umbral sensato.
| Entrada | Por qué |
|---|---|
| Paquete objetivo | Qué módulos cubrir primero |
| Dependencias externas | DB, Redis, HTTP a simular vs testcontainers |
| Objetivo de cobertura | Línea vs rama; porcentaje mínimo |
| Marcadores | slow, integration, no_ci |
| Código asíncrono | Modo pytest-asyncio automático |
tests/conftest.py con fixtures compartidospyproject.toml [tool.pytest.ini_options]coverage para if TYPE_CHECKINGuv run pytestsleep en pruebas.pytest -m "not integration" predeterminado.uv sync --extra dev
uv run pytest -q
uv run pytest --cov=app --cov-report=term-missing --cov-fail-under=80
uv run ruff check tests/import pytest
from app.pricing import discount
@pytest.mark.parametrize(
"amount,coupon,expected",
[
(100, "SAVE10", 90),
(100, "INVALID", 100),
(0, "SAVE10", 0),
],
)
def test_discount(amount, coupon, expected):
assert discount(amount, coupon) == expectedpytest por defecto para código nuevo - compatibilidad con unittest OK durante la migración.
Usar para pruebas marcadas como integración - las pruebas unitarias usan SQLite o sesión simulada.
Versiones de Stack: Esta página fue escrita para Python 3.14.0 (estable 3.14, mantenimiento 3.13), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+ y uv 0.6+.
Revisado por Chris St. John·Última actualización: 16 jul 2026