pytest / Habilidade de Teste
Geração de testes e melhoria de cobertura - uma Habilidade de Agente para Python 3.14 e pytest.
Busque em todas as páginas da documentação
Geração de testes e melhoria de cobertura - uma Habilidade de Agente para Python 3.14 e pytest.
Audita um módulo e adiciona testes: layout tests/, fixtures conftest.py, casos de borda parametrizados, integração/lentos pytest.mark, httpx.MockTransport ou pytest-httpx para HTTP, rollbacks de transação de banco de dados e pytest --cov de CI com threshold sensato.
| Entrada | Por quê |
|---|---|
| Pacote alvo | Quais módulos cobrir primeiro |
| Deps externas | DB, Redis, HTTP para simular vs testcontainers |
| Meta de cobertura | Linha vs branch; percentual mínimo |
| Marcadores | slow, integration, no_ci |
| Código assíncrono | Modo pytest-asyncio automático |
tests/conftest.py com fixtures compartilhadaspyproject.toml [tool.pytest.ini_options]coverage para if TYPE_CHECKINGuv run pytestsleep em testes.pytest -m "not integration" padrão rápido.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 é o padrão para novo código - compatibilidade com unittest OK durante a migração.
Use para testes com marcador de integração - testes unitários usam SQLite ou sessão mockada.
Versões de Stack: Esta página foi escrita para Python 3.14.0 (estável 3.14, manutenção 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+, e uv 0.6+.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026