Testing y calidad
Ejecutar tests de Python
Sección titulada «Ejecutar tests de Python»La suite de tests de Python usa pytest. Todos los tests son unitarios o de integración local; no requieren red ni credenciales SUNAT.
# Todos los testsuv run pytest -m "not e2e"Tests parametrizados por código SUNAT
Sección titulada «Tests parametrizados por código SUNAT»tests/test_validator.py contiene casos parametrizados por el código de cada regla SUNAT. Cada código del catálogo implementado debe aparecer al menos una vez. Para verificar cobertura de una regla concreta:
uv run pytest tests/test_validator.py -v | grep 2074Ejecutar tests del SDK TypeScript
Sección titulada «Ejecutar tests del SDK TypeScript»cd sdk/typescriptnpm installnpm run generatenpm run buildnpm testVerificar sincronización
Sección titulada «Verificar sincronización»Antes de publicar, verifica que todas las fuentes de versión estén alineadas y que openapi.json esté actualizado:
uv run python scripts/check_sdk_sync.pySi alguna fuente de versión difiere o el esquema está desfasado, el script retornará código de error 1.
Suites de tests
Sección titulada «Suites de tests»test_models.py— validación Pydantic de modelos.test_render.py— generación de XML UBL 2.1.test_sign.py— firma digital XMLDSig con RSA-SHA-256 y SHA-256.test_validator.py— reglas SUNAT parametrizadas por código sobre XML generado.test_api.py— tests de integración contra la API REST FastAPI con los nuevos flagsfirmaryvalidar_sunat.test_sdk_types.py— presencia de modelos enopenapi.json.sdk/typescript/test/client.test.ts— tipado estático y round-trip runtime del SDK TS.