Tests unitarios y de integración básicos

Escribe tests unitarios y de integración en JavaScript para evitar regresiones y documentar comportamiento esperado.

Testing no es burocracia: es control de calidad continuo.

Unit tests validan piezas; integración valida conexiones reales.

Un test ?til detecta malentendidos de negocio, no solo sintaxis.

Meta: diseñar una suite mínima que aporte confianza para refactorizar.

  • Prueba comportamiento, no implementación interna.
  • Unidad: función aislada.
  • Integración: varios módulos colaborando.
  • E2E: flujo usuario de punta a punta.
  • Empieza por casos críticos del negocio.

Qué probar: unidad vs integración

Prueba comportamiento, no implementación interna.

  • Unidad: función aislada.
  • Integración: varios módulos colaborando.
  • E2E: flujo usuario de punta a punta.
  • Empieza por casos críticos del negocio.

Patrón Arrange-Act-Assert

Estructura clara para que los tests sean legibles.

Malas prácticas de testing

Tests frágiles generan falsa confianza.

  • Mockear demasiado y no probar integración real.
  • Un test para múltiples comportamientos no relacionados.
  • No aislar dependencias de tiempo o red.
  • Assertions ambiguas.

Suite mínima recomendada

Pocos tests buenos superan muchos tests vacíos.

  • Casos de éxito principales.
  • Casos de error esperados.
  • Validación de contratos API críticos.
  • Smoke test de flujo principal.
JavaScript
47

Tests unitarios y de integración básicos

Escribe tests unitarios y de integración en JavaScript para evitar regresiones y documentar comportamiento esperado.

Código del tema: arrange-act-assert | mock | integration test

📘 Teoría

Qué probar: unidad vs integración

Prueba comportamiento, no implementación interna.

  • Unidad: función aislada.
  • Integración: varios módulos colaborando.
  • E2E: flujo usuario de punta a punta.
  • Empieza por casos críticos del negocio.

Patrón Arrange-Act-Assert

Estructura clara para que los tests sean legibles.

Test mínimo de función pura
test('calcula total con descuento', () => {
  const precio = 100; // Arrange
  const total = calcularTotal(precio, true); // Act
  expect(total).toBe(90); // Assert
});

Malas prácticas de testing

Tests frágiles generan falsa confianza.

  • Mockear demasiado y no probar integración real.
  • Un test para múltiples comportamientos no relacionados.
  • No aislar dependencias de tiempo o red.
  • Assertions ambiguas.

Suite mínima recomendada

Pocos tests buenos superan muchos tests vacíos.

  • Casos de éxito principales.
  • Casos de error esperados.
  • Validación de contratos API críticos.
  • Smoke test de flujo principal.

🧪 Aprende probando

Ejemplo Ejemplo guiado: test unitario de utilitario Valida un helper de normalización sin dependencias externas.

🏁 Retos

Reto Reto: a?adir test de error Valida que una función lance error con input inválido.

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros 😉.

Esta la hice en febrero de 2026 para facilitar el aprendizaje de mis alumnxs. Aprender desarrollo web practicando. La idea es que crezca semanalmente con nuevos temas, tests y retos.

Inspirado en MDN, en W3Schools, en Codepen, en el crack de Manz y en mil sitios de documentación sobre desarrollo web. Quería aportar además de bloques teóricos con ejemplos, la gamificación de los retos y el sistema de test que ya tenía en culTest .

Si te gustó, si no te gustó, si quieres saludarme, o invitarme a 🍻 no dudes en escribirme en cristianeslava@gmail.com .