Curso completo

Pruebas Unitarias con Jest

Escribe las pruebas más cercanas al código: Aprende Jest, desde tu primer expect hasta código asíncrono, mocks, temporizadores falsos, snapshots y cobertura, con un diseño de pruebas que encuentra bugs reales y un pipeline de CI que falla por ellos.

~4 horas de contenido

Ver lecciones

Contenido del curso

13 lecciones completas que cubren todo lo que necesitas saber

Introducción

Introducción
Estructura del curso
Conoce cómo está organizado el curso y aprovecha al máximo el contenido.
Introducción
Requisitos previos
Sistemas y conocimientos necesarios para completar el curso.
Introducción
Conociendo el código bajo prueba
Conoce el Bookshelf, las reglas de préstamo de una pequeña biblioteca, y el README que las especifica.
Lección
Lección 1
Fork, clonado e instalación de Jest
Haz un fork y clona el repositorio, instala Jest y lee tu primera ejecución de pruebas (vacía).

Tus primeras pruebas

Lección
Lección 2
Tu primera prueba unitaria
Escribe una prueba con describe, test y expect, ejecútala y aprende a leer una falla.
Lección
Lección 3
Matchers que importan
Elige el matcher que describe la regla, y evita que los matchers de veracidad escondan bugs.
Lección
Lección 4
Probar errores
Comprueba que el código lanza el error correcto, con el mensaje correcto, por el motivo correcto.
Lección
Lección 5
Diseñar casos de prueba
Convierte clases de equivalencia y valores límite en una tabla test.each, y deja que encuentre un bug.

Organizar pruebas y estado

Lección
Lección 6
Preparación, limpieza y aislamiento
Usa hooks para darle a cada prueba un comienzo desde cero, y atrapa pruebas que solo pasan en un orden.

Código asíncrono y dobles de prueba

Lección
Lección 7
Código asíncrono
Prueba promesas con async y await, y atrapa el await olvidado que hace mentir a una prueba.
Lección
Lección 8
Dobles de prueba y jest.fn()
Distingue stubs, spies, mocks y fakes, y reemplaza una dependencia con jest.fn().
Lección
Lección 9
Mockear módulos
Mockea un módulo del que el código hace el require directamente, y mira cuánto cuesta mockear de más.
Lección
Lección 10
Controlar el tiempo y la aleatoriedad
Congela el reloj, adelanta los temporizadores y fija Math.random() para probar sus dos extremos.

Snapshots, cobertura y CI

Lección
Lección 11
Pruebas de snapshot
Usa snapshots para salidas estables, y evita que se conviertan en un sello de goma.
Lección
Lección 12
Cobertura de código
Mide la cobertura, define un umbral y encuentra la regla que tu suite ejecuta pero nunca comprueba.
Lección
Lección 13
Ejecutar tus pruebas en GitHub Actions
Ejecuta la suite con cada push, y demuestra que el build se pone en rojo con una prueba que falla o una caída de cobertura.

Bonus y conclusión

Bonus
Bonus: ¿Jest, Vitest o node:test?
Las mismas pruebas en tres runners: qué se transfiere sin cambios, qué cambia y cómo elegir.
Bonus
Bonus: Pruebas unitarias con IA
Redacta pruebas unitarias con un asistente de IA, y júzgalas contra las reglas antes de confiar en ellas.
Conclusión
¡Felicitaciones!
¡Completaste el curso Pruebas Unitarias con Jest!