JavaScript de Cero a Experto / Testing con Vitest
Por qué testear: el cinturón de seguridad del código
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.