Saltar al contenido
Buscar
Ver todo el radar
Vitest 5

Vitest 5: node 22 obligatorio y tests más estrictos

Vitest 5 sube los requisitos mínimos, cambia comportamientos por defecto en mocks y assertions, y reorganiza dónde se guardan reportes y attachments.

Requisitos más altos y limpieza de API

Necesitás Node.js 22 y Vite 6.4 como mínimo para correr esta versión. El paquete expect y @vitest/runner ahora están inlineados dentro de Vitest y dejan de publicarse por separado, así que si los importabas directamente tenés que revisar tus dependencias. También se eliminaron los entry points deprecados y se sacó el paquete webdriverio.

Tests fallan en casos que antes pasaban

Los mocks se limpian automáticamente antes de cada test por defecto, algo que antes tenías que configurar vos. expect.poll ahora falla si la función no resuelve dentro del tiempo esperado, en vez de quedar en un estado ambiguo. Si tenés una assertion asíncrona sin await, el test falla en lugar de pasar silenciosamente. Y si usás métodos hoisteables (como vi.mock) fuera del scope de nivel superior, Vitest tira un error explícito.

Convención de directorio .vitest

Los reportes, attachments y archivos de blob ahora se guardan por defecto bajo .vitest/ en vez de estar dispersos en distintas carpetas. Esto afecta a attachmentsDir (que pasó de .vitest-attachements/ a .vitest/attachments/), al reporter blob, a los reportes JSON y JUnit, y al reporter HTML. Si tenés scripts o CI que buscan estos archivos en rutas viejas, hay que actualizarlos.

Proyectos anidados y configuración compartida

Vitest 5 soporta proyectos anidados, y los proyectos inline ahora extienden la configuración raíz por defecto en vez de partir de cero. Además, los proyectos inline comparten el mismo servidor de Vite, lo que reduce overhead cuando tenés varios proyectos corriendo en el mismo repo.

Qué te llevas

  • Antes de migrar, chequeá que tu entorno tenga Node 22 y Vite 6.4 o más nuevo.

  • Revisá tus tests que dependían de mocks sin limpiar entre corridas: ahora se limpian por defecto.

  • Actualizá rutas de CI o scripts que lean reportes/attachments desde ubicaciones viejas, ahora todo va a .vitest/.

  • Si usás proyectos múltiples, la configuración inline ahora hereda de la raíz por defecto.

Este resumen lo escribimos a partir de las notas oficiales del release. Lo que no estaba ahí, no está acá.

Anuncio original de Vitest

¿Quieres una clase de esto?

Si varias personas lo piden, entra al programa. No hace falta dejar mail ni nombre.