Pruebas Unitarias y de Integración (Testing Suite)
Este directorio contiene la suite completa de pruebas unitarias y de integración del framework, estructurada como un espejo de la carpeta de código fuente de desarrollo.
Entorno de Pruebas e Infraestructura
La suite de pruebas de BaP Framework utiliza las siguientes herramientas técnicas:
- Vitest: Motor de ejecución de pruebas de última generación y alto rendimiento en JavaScript.
- JSDOM: Emulador del navegador basado en software para Node.js, indispensable para instanciar, modificar y asertar el comportamiento del DOM en Custom Elements sin necesidad de abrir un navegador real.
- Configuración Inicial (
./test/setup.js): Prepara el entorno global, emulawindow.location, APIs de red y el cifrado local criptográfico (PBKDF2/AES-GCM de la Web Crypto API) para que los tests pasen exitosamente.
Estructura Espejo del Directorio de Pruebas (./test/)
Los archivos de pruebas emulan la misma disposición física del directorio de desarrollo:
./test/mocks/: Almacena simulaciones controladas del SDK de Google Firebase (Auth, Analytics, Realtime Database) para aislar las pruebas de llamadas a la red../test/_components/: Pruebas de integración para validar atributos, templates y eventos del DOM de Custom Elements (ej.bap-dialog.test.js)../test/_main/: Pruebas unitarias de cobertura lógica para enrutamiento, criptografía de almacenamiento, internacionalización y utilidades.
Comandos del Desarrollador para Pruebas
# 1. Ejecutar las pruebas una única vez
npm run test
# 2. Ejecutar las pruebas en modo observador (Watch Mode)
npm run test:watch
# 3. Generar el reporte de cobertura de código (Coverage)
npm run test:coverage📊 Reporte de Cobertura (Coverage): El reporte de cobertura utiliza la herramienta
@vitest/coverage-v8 y escribe un reporte HTML navegable dentro del directorio ./coverage/ (el cual está ignorado en Git).Referencias Cruzadas e Integración
- Configuración de Vitest: Se configura globalmente desde el archivo maestro
./vitest.config.jsen el root del repositorio. - Código Validado: Los tests de esta suite apuntan de manera unificada a verificar la lógica contenida en /pages/core/ y componentes visuales en /pages/components/.