Pacote para testes automatizados em Python, com integração ao pytest e cobertura de código.
Project description
📚 SmartTestPy - Framework Inteligente para Testes em Python
SmartTestPy é um pacote robusto e flexível para a criação de testes automatizados em Python. Com suporte ao pytest, unittest, geração de dados fake, mocks avançados e integração com APIs e bancos de dados, ele foi projetado para simplificar o processo de testes, desde o básico até casos avançados.
✨ Funcionalidades Principais
- ✅ Assertions personalizadas para validações detalhadas.
- 🏗 Fixtures reutilizáveis para cenários complexos.
- 🎭 Mocks inteligentes para testes isolados.
- 🌐 Testes de API com validação de payloads, headers e status.
- 🏦 Gerenciamento de banco de dados para testes integrados.
- ⏳ Manipulação de tempo com suporte ao
freezegun. - 📊 Cobertura de código com relatórios automatizados.
- ⚡ Execução paralela de testes para maior performance.
- 🛠 Compatível com frameworks como Django, Flask e FastAPI.
- 🌍 Internacionalização (i18n) para mensagens e logs de testes.
⚡ Instalação
Instale o SmartTestPy diretamente do PyPI:
pip install SmartTestPy
💡 Requisitos: Python 3.6 ou superior.
🚀 Como Usar
✅ Assertions Customizadas
from SmartTestPy.assertions import assert_status_code
response = MockResponse(200, "OK")
assert_status_code(response, 200)
🧪 Fixtures e Mocks
from SmartTestPy.fixtures import fake_user
user = fake_user()
assert user['email'] is not None
🌐 Testes de API
from SmartTestPy.response_helpers import assert_json_response
response = client.get("/api/user/1/")
assert_json_response(response, {"id": 1, "name": "John Doe"})
⏳ Manipulação de Tempo
from SmartTestPy.time_utils import fixed_time
assert fixed_time().strftime("%Y-%m-%d") == "2025-01-01"
🏃 Executando os Testes
pytest tests/ --maxfail=1 --disable-warnings -v
📈 Para gerar relatório de cobertura:
pytest --cov=SmartTestPy --cov-report=html
🏗 Estrutura do Projeto
SmartTestPy/
│
├── SmartTestPy/ # 📦 Código do pacote
│ ├── __init__.py
│ ├── assertions.py # ✅ Assertions personalizadas
│ ├── fixtures.py # 🏗 Fixtures e mocks reutilizáveis
│ ├── response_helpers.py # 🌐 Testes e validações de APIs
│ ├── time_utils.py # ⏳ Manipulação de tempo
│
├── tests/ # 🧪 Testes unitários
│ ├── test_assertions.py
│ ├── test_fixtures.py
│ ├── test_response_helpers.py
│ └── test_time_utils.py
│
├── setup.py # ⚙️ Configuração do pacote
├── pyproject.toml # 📦 Configuração moderna
├── README.md # 📚 Documentação do projeto
├── LICENSE # 📜 Licença MIT
└── MANIFEST.in # 📋 Inclusão de arquivos extras
🌐 Compatibilidade
- ✅ Python 3.6+
- 🚀 Compatível com Django, Flask e FastAPI.
- 🐍 Suporte a
pytest,unitteste execução paralela compytest-xdist.
📝 Licença
Distribuído sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.
👨💻 Autor
Desenvolvido por Roberto Lima 🚀✨
💬 Contato
- 📧 Email: robertolima.izphera@gmail.com
- 💼 LinkedIn: Roberto Lima
⭐ Gostou do projeto?
Deixe uma ⭐ no repositório e compartilhe com a comunidade! 🚀✨
git clone https://github.com/seuusuario/SmartTestPy.git
cd SmartTestPy
pip install -e .
🌟 O que este README oferece?
- 🎯 Descrição clara do projeto e seu propósito.
- 🛠 Instruções detalhadas de instalação e uso prático.
- 🧪 Guia de testes para garantir que o código funciona.
- 🏗 Estrutura do projeto para facilitar a navegação.
- 🔄 Seção de contribuição para quem deseja ajudar no desenvolvimento.
- 📝 Licença e informações do autor para transparência.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file smarttestpy-1.1.1.tar.gz.
File metadata
- Download URL: smarttestpy-1.1.1.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39159dd53e96fd14e4aa1a3891eb666e1ddc14915add677facedf25259aa9b7f
|
|
| MD5 |
afd5d46a6597aa0058541c0987fca5be
|
|
| BLAKE2b-256 |
6284d5c0ed4c153e31f9e3d83ed6e10ca9e2152f6b1ee53d5ed9339ed779163b
|
File details
Details for the file smarttestpy-1.1.1-py3-none-any.whl.
File metadata
- Download URL: smarttestpy-1.1.1-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6acf3261e7c0d4d123b47809d138dd19c89b1567bd996a6bc1b0ea3b5e22e540
|
|
| MD5 |
b79d91b14920b654228d1e5e46ebc010
|
|
| BLAKE2b-256 |
ba3847228223728df93ba460485de45f293d6c3e7de0952331d24514f58fccd4
|