Hace un tiempo mis pruebas tardaban alrededor de 3 minutos en completarse; hoy la misma suite corre en menos de 20 segundos. En este artículo cuento cómo detecté el cuello de botella y cómo rediseñé la ejecución de pruebas en Vitest para Nuxt hasta lograr esa mejora. Spoiler: fue un proceso doloroso de pruebas y errores y aunque la inteligencia artificial aportó ideas útiles, al final tuve que intervenir personalmente para encontrar la solución definitiva.
Contexto y problema original: escribir pruebas automatizadas es clave para proteger aplicaciones contra regresiones y errores, y con el tiempo las suites crecen y cubren más escenarios. Para mi módulo de conexión a Neon la suite llegó a superar los 180 segundos, lo que dañaba seriamente la experiencia de desarrollo. Investigando con ayuda de herramientas de IA detecté que cada archivo de prueba arrancaba su propia instancia de la app Nuxt y además las pruebas se ejecutaban de forma secuencial, lo que multiplicaba los tiempos de arranque y renderizado.
Primera optimización rápida: consolidar las apps de prueba en una sola instancia redujo el trabajo duplicado, pero seguía habiendo overhead porque @nuxt/test-utils seguía creando instancias por archivo de prueba. Intentos siguientes con globalSetup en Vitest y manipulación del contexto del test lograron acelerar mucho las ejecuciones, pero introdujeron un nuevo problema: la salida en consola desaparecía al terminar el proceso o quedaba inundada por logs de DEBUG, lo que hacía imposible revisar resultados en el terminal de forma fiable.
La solución final, simple y robusta: dejar de forzar a Vitest a comportarse de maneras para las que no está pensado y, en su lugar, agrupar los casos en un único archivo e2e.test.ts que únicamente haga setup de la app de prueba una vez y luego importe dinámicamente los módulos con las definiciones de tests. Con esto eliminé hacks y globalSetup ruidoso, mantuve aislamiento lógico entre suites mediante imports y conseguí que la ejecución completa sea rápida y con salida clara en consola, alrededor de 20 segundos.
Lecciones aprendidas: la IA puede proponer muchas soluciones que parecen prometedoras pero que introducen efectos secundarios; la diferencia la hace la capacidad humana de dar un paso atrás, simplificar y elegir la herramienta adecuada para el trabajo. En mi caso la idea de un único punto de arranque para la app de pruebas fue la que ganó: setup una vez y luego importar y ejecutar tests.
Sobre Q2BSTUDIO: en Q2BSTUDIO somos una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida, con experiencia en inteligencia artificial, ciberseguridad, servicios cloud aws y azure y soluciones de inteligencia de negocio. Ayudamos a empresas a mejorar su ciclo de desarrollo, automatizar pruebas y desplegar arquitecturas seguras y escalables. Si buscas crear una aplicación robusta y testable podemos ayudarte a diseñar la estrategia de pruebas y la arquitectura necesaria para rendimiento y observabilidad, y además ofrecer servicios de aplicaciones a medida y software a medida junto con iniciativas de inteligencia artificial para empresas que optimicen procesos y generación de valor.
Palabras clave relevantes: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi. Si te interesa que revisemos tu suite de pruebas, optimicemos pipelines o despleguemos soluciones cloud seguras y escalables, en Q2BSTUDIO podemos acompañarte desde el diseño hasta la puesta en producción.
Si quieres ver el enfoque técnico para Nuxt y Vitest o intercambiar ideas sobre mejoras, déjame tus comentarios y estaré encantado de compartir más detalles y fragmentos de implementación.




