DevPath · Aprende a programar ESPTEN

Node.js, npm y testing

Testing y TDD

¿Por qué hacer testing?

Las pruebas automáticas comprueban que tu código hace lo que debe. Te dan confianza para cambiar el código sin miedo a romper algo (las pruebas avisan).

Una aserción básica

Una aserción comprueba que una condición se cumple; si no, falla.

function assert(condicion, mensaje) {
  if (!condicion) throw new Error(mensaje || "Falló la aserción");
}

function doble(x) {
  return x * 2;
}

assert(doble(4) === 8, "doble(4) debería ser 8");
assert(doble(0) === 0, "doble(0) debería ser 0");
console.log("✅ Todas las pruebas pasaron");

Frameworks de testing

En proyectos reales se usan herramientas como Jest o Vitest, con una sintaxis declarativa:

test("doble multiplica por dos", () => {
  expect(doble(4)).toBe(8);
});

TDD: Test-Driven Development

El desarrollo guiado por pruebas invierte el orden habitual. El ciclo es rojo → verde → refactor:

  1. Rojo: escribe una prueba que falla (la función aún no existe).
  2. Verde: escribe el código mínimo para que pase.
  3. Refactor: mejora el código manteniendo las pruebas en verde.

TDD te obliga a pensar primero qué debe hacer el código antes de cómo.

Ejemplos

Mini-suite de pruebas casera

function assert(cond, msg) {
  if (!cond) throw new Error(msg);
}
function esPar(n) {
  return n % 2 === 0;
}
assert(esPar(4) === true, "4 es par");
assert(esPar(7) === false, "7 es impar");
console.log("Todas las pruebas pasaron");
Pon esto en práctica

DevPath es un curso práctico: aquí lees la teoría; en la app la pones en práctica con ejercicios que se ejecutan de verdad, sin conexión.

Empezar gratis en la app →
← MódulosControl de versiones con Git →