Ejecución de pruebas
La evidencia de la última corrida completa: cuántas pruebas se ejecutaron, cuánto tardó cada una y en qué archivo vive. Donde Testingdescribe la estrategia, esta página muestra el resultado medido de aplicarla.
Capturada el 26 de agosto de 2026 desde el reporte JUnit de Vitest. Ninguna cifra de esta página se escribe a mano: se regeneran juntas al correr el script, así que no pueden desalinearse del código sin que el diff lo muestre.
Resumen de la corrida
Cómo se reproduce
npx vitest run --reporter=junit --outputFile=informes/tests-junit.xml && node scripts/report-tests.mjsPor nivel de prueba
Funciones de src/lib sin base de datos ni red.
Base de datos real y desechable en un archivo temporal.
Una prueba de integración cuesta 20× más tiempo que una unitaria. Ese número es la razón de la forma de la pirámide: no es una preferencia estética, es lo que hace que la suite completa siga cabiendo en un minuto de CI.
Distribución de tiempos
Escala logarítmica, porque en lineal todo se apilaría en una sola barra:87% de las pruebas termina en menos de 10 ms. Solo 5 pasan del segundo, y son las que abren base de datos o ejercitan el rate limiting de verdad.
Las 12 más lentas
Los 70 archivos
| Archivo | Pruebas | Fallos | Tiempo | |
|---|---|---|---|---|
portal-isolation.test.tsintegración | 26 | 0 | 12.36 s | |
security-honeypot.test.ts | 7 | 0 | 5.63 s | |
portal-live.test.tsintegración | 10 | 0 | 2.93 s | |
portal-activity.test.tsintegración | 16 | 0 | 2.51 s | |
cobros-db.test.tsintegración | 21 | 0 | 2.30 s | |
latency.test.tsintegración | 9 | 0 | 2.14 s | |
portal-passwords.test.ts | 14 | 0 | 1.83 s | |
contracts.test.tsintegración | 5 | 0 | 1.17 s | |
fingerprint.test.tsintegración | 12 | 0 | 752.5 ms | |
payments.test.tsintegración | 23 | 0 | 537.8 ms | |
present-pin.test.ts | 15 | 0 | 313.1 ms | |
portal-health.test.tsintegración | 8 | 0 | 144.3 ms | |
fallback.test.ts | 19 | 0 | 143.4 ms | |
security-blocklist-db.test.tsintegración | 3 | 0 | 140.7 ms | |
diagnostics.test.ts | 37 | 0 | 136.0 ms | |
bpmn.test.ts | 83 | 0 | 113.0 ms | |
monitors.test.ts | 8 | 0 | 99.8 ms | |
cobros.test.ts | 22 | 0 | 98.1 ms | |
present-sync.test.ts | 16 | 0 | 98.0 ms | |
uml-communication.test.ts | 25 | 0 | 97.5 ms | |
domains.test.ts | 13 | 0 | 91.2 ms | |
red.test.ts | 12 | 0 | 73.8 ms | |
indexnow.test.ts | 8 | 0 | 71.3 ms | |
notify.test.ts | 10 | 0 | 69.3 ms | |
money.test.ts | 13 | 0 | 58.0 ms | |
i18n-routing-guards.test.ts | 141 | 0 | 56.3 ms | |
capacitacion.test.ts | 35 | 0 | 55.9 ms | |
i18n-routing.test.ts | 56 | 0 | 54.8 ms | |
portal-invoices.test.ts | 17 | 0 | 51.4 ms | |
skills.test.ts | 31 | 0 | 51.2 ms | |
device-info.test.ts | 10 | 0 | 49.8 ms | |
present-deck-parse.test.ts | 24 | 0 | 49.0 ms | |
uml-activity.test.ts | 19 | 0 | 46.1 ms | |
uml-component.test.ts | 5 | 0 | 39.4 ms | |
uml-deployment.test.ts | 5 | 0 | 38.4 ms | |
normalization.test.ts | 15 | 0 | 35.2 ms | |
i18n-dictionary.test.ts | 4 | 0 | 33.7 ms | |
pnl.test.ts | 9 | 0 | 33.7 ms | |
security-classify.test.ts | 49 | 0 | 29.8 ms | |
demo.test.ts | 12 | 0 | 28.1 ms | |
findings.test.ts | 19 | 0 | 28.0 ms | |
present-assets.test.ts | 17 | 0 | 27.3 ms | |
monitor-rollup.test.ts | 15 | 0 | 27.1 ms | |
phone.test.ts | 14 | 0 | 25.7 ms | |
mis-pagos.test.ts | 7 | 0 | 24.1 ms | |
slo.test.ts | 11 | 0 | 23.5 ms | |
present-state.test.ts | 15 | 0 | 22.6 ms | |
crypto.test.ts | 8 | 0 | 22.4 ms | |
vault.test.ts | 10 | 0 | 21.8 ms | |
security-anomaly.test.ts | 13 | 0 | 21.7 ms | |
security-autoblock.test.ts | 14 | 0 | 21.5 ms | |
clients-validate.test.ts | 14 | 0 | 19.8 ms | |
security-redact.test.ts | 9 | 0 | 19.3 ms | |
sena-ep.test.ts | 7 | 0 | 19.3 ms | |
portal-paths.test.ts | 11 | 0 | 19.0 ms | |
vyv.test.ts | 8 | 0 | 18.9 ms | |
portal-demo.test.ts | 11 | 0 | 18.7 ms | |
i18n-bilingual.test.ts | 10 | 0 | 18.5 ms | |
crons.test.ts | 29 | 0 | 18.3 ms | |
pipeline-live.test.ts | 11 | 0 | 17.5 ms | |
i18n-localize.test.ts | 11 | 0 | 17.1 ms | |
gobernanza.test.ts | 9 | 0 | 16.5 ms | |
vitals.test.ts | 9 | 0 | 13.9 ms | |
security-csp-report.test.ts | 6 | 0 | 13.7 ms | |
mutation.test.ts | 7 | 0 | 13.4 ms | |
chaos.test.ts | 12 | 0 | 12.4 ms | |
db-target.test.ts | 5 | 0 | 12.1 ms | |
security-blocklist.test.ts | 7 | 0 | 10.6 ms | |
security-rollup.test.ts | 6 | 0 | 9.20 ms | |
security-ratelimit.test.ts | 8 | 0 | 8.70 ms |
Las suites marcadas integración abren una base libSQL real en un archivo temporal de tmpdir(), nunca en memoria: una transacción abre otra conexión y una base en memoria no comparte tablas entre conexiones. El resto es lógica pura. La cobertura se mide aparte, con npm run test:coverage.