Ir al contenido
Ir a Lynx

Testing integral

La confianza en nuestro código es vital para mantener un ritmo de despliegue rápido y seguro. Lynx incorpora el testing como parte del proceso de desarrollo.

Lynx promueve un enfoque de desarrollo guiado por pruebas (TDD), donde las pruebas se escriben antes del código funcional. Esto ayuda a asegurar que el código sea robusto y que las pruebas estén bien definidas.

Nuestra estrategia cubre múltiples niveles de la pirámide de testing:

Son rápidas, aisladas y enfocadas en probar lógica, funciones y componentes puros.

  • Utilizamos Vitest en todo el monorepo, lo que garantiza una velocidad de ejecución alta y una configuración predecible.
  • Todas las apps (apps/*) deben contar con pruebas unitarias para sus componentes (frontend), servicios (backend) y lógicas de negocio.
  • Todos los paquetes (packages/*) deben contar con pruebas unitarias para sus utilidades, schemas y componentes exportados, validando lógicas de negocio granulares.

Prueban cómo interactúan las diferentes piezas del ecosistema en su conjunto.

  • Next.js y Astro: Utilizamos Playwright para simular las interacciones de un usuario real en el navegador, validando flujos de usuario completos (como inicio de sesión, creación de entidades, navegación por páginas).

Gracias a Turborepo, en nuestro sistema de Integración Continua (CI) solo se ejecutan los tests de las aplicaciones y paquetes que han sufrido cambios (y los de sus dependientes). Esto significa que podemos mantener un estándar de calidad muy alto (linting, chequeos de tipado estricto y pruebas automatizadas) sin incurrir en tiempos de espera excesivos.