CodeForge

JavaScript de Cero a Experto / Testing con Vitest

Por qué testear: el cinturón de seguridad del código

Teoría20 min20 XP

Cada vez que cambias código, un mismo miedo aparece: "¿habré roto algo?". Los tests son la respuesta a ese miedo —un ejército de verificaciones que corre en un segundo y te dice, con certeza, qué sigue funcionando y qué no. Hoy entiendes por qué el testing no es burocracia, sino la herramienta que te deja cambiar código sin terror.

El miedo a tocar tu propio código

Un test es solo una comprobación automática

No hay magia. En el módulo 15 conociste console.assert: grita si algo no es lo que esperabas. Un test es esa misma idea, organizada y automática. Míralo en su forma más desnuda:

Eso —comprobar que una función da lo que promete, automáticamente— es TODO lo que es un test en el fondo. Vitest, la herramienta que vas a aprender, solo le pone encima mejor organización, mensajes bonitos y superpoderes. Pero el corazón es este: código que verifica tu código.

Los tres tamaños de test

Qué testear y qué no

Testear todo es tan improductivo como no testear nada. La regla práctica:

Y el beneficio secreto que nadie te cuenta: un buen test es documentación viva. Cuando llegues a un proyecto nuevo, leer sus tests te dice qué hace cada función y con qué casos —una documentación que, a diferencia de los comentarios, no puede mentir, porque si mintiera, fallaría.

¿Cuál de estas funciones es la MEJOR candidata para un test unitario, y por qué?

Mini-reto

Piensa como testeador: 1) escribe esPar(n) y usa console.assert para comprobar esPar(4), esPar(7) y el caso límite esPar(0); 2) rompe la función a propósito (cambia % 2 === 0 por % 2 === 1) y observa qué assert grita; 3) haz una lista mental: de las funciones que escribiste en "Mi Bolsillo", ¿cuáles son puras y por tanto fáciles de testear? Esa lista es tu punto de partida para el reto del módulo.

Qué sigue

console.assert funciona, pero es tosco: no agrupa, no cuenta, no compara objetos. En la próxima lección construyes tu PROPIO mini framework de testing —test() y expect() en 15 líneas— y entiendes por dentro la herramienta que millones de developers usan a diario. Como todo en este curso: primero lo construyes, luego lo usas.