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
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 1Fork, 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 2Tu primera prueba unitaria
Escribe una prueba con describe, test y expect, ejecútala y aprende a leer una falla.
Lección
Lección 3Matchers que importan
Elige el matcher que describe la regla, y evita que los matchers de veracidad escondan bugs.
Lección
Lección 4Probar errores
Comprueba que el código lanza el error correcto, con el mensaje correcto, por el motivo correcto.
Lección
Lección 5Diseñ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 6Preparació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 7Código asíncrono
Prueba promesas con async y await, y atrapa el await olvidado que hace mentir a una prueba.
Lección
Lección 8Dobles de prueba y jest.fn()
Distingue stubs, spies, mocks y fakes, y reemplaza una dependencia con jest.fn().
Lección
Lección 9Mockear 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 10Controlar 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 11Pruebas de snapshot
Usa snapshots para salidas estables, y evita que se conviertan en un sello de goma.
Lección
Lección 12Cobertura de código
Mide la cobertura, define un umbral y encuentra la regla que tu suite ejecuta pero nunca comprueba.
Lección
Lección 13Ejecutar 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!