Pruebas#
Guía de pruebas para colaboradores de Construbot.
Ejecución de pruebas#
Suite de pruebas completa:
make test
Pruebas específicas:
# Specific file
pytest tests/test_models.py
# Specific test
pytest tests/test_models.py::test_contract_creation
# Tagged tests
make current # Runs tests with @tag('current')
Con cobertura:
make test
open htmlcov/index.html
Pruebas de escritura#
Estructura de prueba:
from django.test import TestCase
from construbot.proyectos.models import Contrato
class ContratoTestCase(TestCase):
def setUp(self):
self.company = Company.objects.create(...)
def test_contract_creation(self):
contract = Contrato.objects.create(
company=self.company,
folio="C-001"
)
self.assertEqual(contract.folio, "C-001")
Usar fábricas:
from tests.factories import ContractFactory
contract = ContractFactory(company=self.company)
Mejores prácticas#
✅ Pruebe una cosa por prueba
✅ Utilice nombres de prueba descriptivos
✅ Pruebas de aislamiento (no depender de otras pruebas)
✅ Utilice accesorios para una configuración común
✅ Etiquete las pruebas de trabajo en progreso con @tag('current')
Cobertura de prueba#
Objetivo: >80% de cobertura
Consulta cobertura:
make test
coverage report
Ver también#
Empezando - Development setup
Instalación - Installation guide