Este proyecto es un framework de pruebas automatizadas para la API de Trello, construido con Python, pytest y herramientas de reporte. El framework está organizado de manera modular para facilitar la escalabilidad y el mantenimiento.
- Estructura del Proyecto
- Requisitos
- Configuración
- Ejecución de Pruebas
- Análisis de Código con
pylint - Buenas Prácticas
- Contribuciones
trello_api/
│
├── entities/
│ ├── board.py
│ ├── card.py
│ └── __init__.py
├── modules/
│ ├── boards.py
│ ├── cards.py
│ └── __init__.py
├── tests/
│ ├── test_boards.py
│ ├── test_cards.py
│ └── __init__.py
├── utils/
│ ├── api_client.py
│ ├── config.py
│ └── __init__.py
├── reports/
│ └── __init__.py
├── .gitignore
├── pytest.ini
├── requirements.txt
└── .env
- entities/: Define las entidades del dominio (por ejemplo, Board, Card).
- modules/: Contiene la lógica para interactuar con la API de Trello.
- tests/: Contiene los archivos de pruebas con pytest.
- utils/: Utilidades como el cliente de API y configuración.
- reports/: Carpeta para almacenar los reportes de las pruebas.
- .gitignore: Archivos y carpetas a ignorar por git.
- pytest.ini: Configuración de pytest.
- requirements.txt: Dependencias del proyecto.
- .env: Archivo para configurar las variables de entorno.
- Python 3.x
- pip (Administrador de paquetes de Python)
-
Clonar el repositorio:
git clone https://github.com/tu_usuario/trello_api_tests.git cd trello_api_tests -
Crear un entorno virtual:
python -m venv venv source venv/bin/activate # En Windows usa `venv\Scripts\activate`
-
Instalar dependencias:
pip install -r requirements.txt
-
Configurar variables de entorno:
Crea un archivo .env en el directorio raíz del proyecto con el siguiente contenido:
TRELLO_API_KEY=tu_trello_api_key TRELLO_TOKEN=tu_trello_token -
Actualizar utils/config.py si es necesario:
from dotenv import load_dotenv import os # Cargar variables de entorno desde .env load_dotenv() API_KEY = os.getenv('TRELLO_API_KEY') TOKEN = os.getenv('TRELLO_TOKEN') BASE_URL = 'https://api.trello.com/1' # Verificar que las variables estén configuradas correctamente assert API_KEY, "TRELLO_API_KEY no está configurado" assert TOKEN, "TRELLO_TOKEN no está configurado"
Para ejecutar todas las pruebas, usa el siguiente comando:
pytestPara ejecutar un archivo de prueba específico:
pytest tests/test_boards.pyPara ejecutar un método de prueba específico dentro de un archivo:
pytest tests/test_boards.py::TestBoards::test_get_boardsPara analizar tu código con pylint, usa el siguiente comando:
pylint <nombre_del_módulo>.pyPor ejemplo, para analizar el módulo cards:
pylint modules/cards.py- Modularidad: Mantén tu código modular separando la lógica de la API y las pruebas en diferentes módulos.
- Manejo de Errores: Usa response.raise_for_status() para manejar errores HTTP de forma explícita.
- Configuración: Utiliza un archivo de configuración para manejar parámetros como URLs y credenciales.
- Seguridad: No incluyas tus credenciales en el repositorio. Usa .gitignore para excluir archivos sensibles.
- Documentación: Documenta tu código y pruebas para mejorar la mantenibilidad.
¡Las contribuciones son bienvenidas! Por favor, sigue los siguientes pasos para contribuir:
- Haz un fork del repositorio.
- Crea una nueva rama (git checkout -b feature/nueva-funcionalidad).
- Realiza los cambios necesarios y realiza commit (git commit -m 'Añadir nueva funcionalidad').
- Sube tus cambios a la rama (git push origin feature/nueva-funcionalidad).
- Abre un Pull Request.