O que python-testing-patterns faz?
Implemente estratégias abrangentes de teste com pytest, fixtures, mocking e desenvolvimento orientado a testes. Use ao escrever testes Python, configurar suítes de teste ou implementar melhores práticas de teste.
Visão Geral
Esta skill fornece um guia completo sobre padrões de teste em Python usando pytest. Você aprenderá a:
- Escrever testes com pytest de forma eficiente
- Utilizar fixtures para reutilizar código de configuração
- Aplicar mocking para isolar unidades de código
- Praticar desenvolvimento orientado a testes (TDD)
- Configurar suítes de teste estruturadas
Instalação
Certifique-se de ter o pytest instalado no seu ambiente:
pip install pytest pytest-mock
Exemplo Básico
def test_soma():
assert 1 + 2 == 3
Fixtures
Fixtures são funções que fornecem dados ou recursos para os testes:
import pytest
@pytest.fixture
def usuario_padrao():
return {"nome": "João", "email": "[email protected]"}
def test_usuario(usuario_padrao):
assert usuario_padrao["email"] == "[email protected]"
Mocking
Mocking permite substituir partes do sistema para isolar o teste:
from unittest.mock import patch
def test_api_chamada():
with patch("modulo.api.chamar_api") as mock_api:
mock_api.return_value = {"status": "ok"}
resultado = meu_codigo()
assert resultado == {"status": "ok"}
TDD (Test-Driven Development)
Siga o ciclo:
- Escreva um teste que falhe
- Escreva o código mínimo para passar
- Refatore o código
Boas Práticas
- Organização: Coloque os testes em um diretório
tests/ - Nomenclatura: Use nomes descritivos para funções de teste
- Cobertura: Busque cobrir casos de borda e exceções
- Isolamento: Cada teste deve ser independente
Plataformas Suportadas
- Python 3.7+
- pytest 6.0+
- pytest-mock (opcional)
Contribuição
Contribuições são bem-vindas! Siga o guia de contribuição no repositório.
Licença
MIT