Que usais para testear? Jest, Vitest, Playwright...

Jota CT
12 de Agosto del 2026

Pregunta para variar de las peticiones de ayuda con ejercicios: ¿qué usaís para testear vuestro código JavaScript?

Jest lleva años siendo el más usado, sobre todo en proyectos React, con mucha documentación y un ecosistema enorme de plugins.

Vitest se ha ido comiendo terreno sobre todo en proyectos con Vite (Vue, proyectos modernos en general), API prácticamente compatible con Jest pero mucho más rápido en modo watch.

Playwright ya no es solo para tests end-to-end de UI, también se usa bastante para testing de APIs directamente.

¿Test unitarios, de integración, end-to-end, o de los tres un poco? ¿Y cómo de disciplinados sois escribiendo tests antes de que el código esté en producción, o es más bien «ya los pondremos cuando haya tiempo»? Contad vuestro caso.

Jota CT


David Carrero
12 de Agosto del 2026

Mi combinación habitual hoy en día: Vitest para unitarios e integración (rápido, buen soporte de mocks, y si el proyecto ya usa Vite el arranque es literalmente cero configuración adicional) y Playwright para end-to-end. La combinación me cubre casi todo sin tener que aprender dos APIs muy distintas, porque Playwright también tiene su propio test runner con una sintaxis bastante parecida a la de Vitest/Jest.

Sobre la disciplina: depende muchísimo del proyecto. En librerías o código compartido entre equipos, tests desde el primer commit, sin excepción, porque un cambio que rompe a otro equipo sin avisar sale caro. En prototipos o MVPs que igual se tiran a la semana, prefiero iterar rápido y meter tests solo cuando el código demuestra que va a sobrevivir. No es la respuesta purista, pero es la que de verdad sigo en la práctica.

David Carrero


Angel Carrero
12 de Agosto del 2026

Añado la parte de cobertura, que suele quedar en segundo plano en estas conversaciones: herramientas como c8 o el propio --coverage integrado en Vitest dan un número, pero ese número por sí solo engaña fácilmente. Un 90% de cobertura con tests que solo comprueban que la función «no explota», sin verificar el resultado correcto, no vale gran cosa. Prefiero mirar la cobertura como una señal de alarma para encontrar código sin tocar («esto no lo prueba nadie, raro»), no como un objetivo en sí mismo a perseguir hasta el 100%.

Angel Carrero