TL;DR

  • Reescritura del runtime mejora el soporte ESM, incluyendo require(esm) en Node 24.9+.
  • Introduce fake timers para la Temporal API de Node v26.
  • Añade soporte adecuado para snapshots de React 19 en pretty-format.

Key Changes

Jest v30.4.0, una actualización mayor lanzada el 7 de mayo de 2026 por Meta, se enfoca en modernizar su núcleo y expandir la compatibilidad. Esta versión es particularmente importante para ingenieros de automatización de pruebas que trabajan con ecosistemas JavaScript en evolución.

Features:

El cambio más notable es una reescritura del runtime personalizado de Jest, preparándose para el soporte nativo estable de ESM. Este trabajo permite el soporte del módulo require(esm) en Node 24.9+ (requiriendo --experimental-vm-modules). Los equipos de QA pueden ahora probar módulos ESM de manera más efectiva, alineándose con las prácticas modernas de desarrollo JavaScript. Para quienes exploran tutoriales de testing con Jest, esto significa una experiencia más fluida con la importación de módulos.

Otra característica clave es la introducción de fake timers para la Temporal API de Node v26. Esto permite un control preciso sobre las pruebas sensibles al tiempo, crucial para aplicaciones que utilizan los nuevos objetos globales Temporal. Jest ahora acepta Temporal.Duration, Temporal.Instant y Temporal.ZonedDateTime en jest.advanceTimersByTime() y jest.setSystemTime().

React 19 ahora es compatible correctamente en pretty-format, asegurando que los snapshots de componentes React funcionen como se espera. Esto es vital para proyectos que utilizan Jest con Testing Library para pruebas de componentes.

Otras adiciones incluyen el flag --collect-tests para descubrir pruebas sin ejecutarlas, configuraciones verbose y silent por proyecto, y soporte para archivos de configuración jest.config.mts.

Fixes:

Varias correcciones importantes abordan la estabilidad y precisión. toStrictEqual ya no falla en resultados de structuredClone debido a la falta de coincidencia de constructores entre realms. toMatchObject evita lanzar errores con iterables exóticos. Además, Error.cause ahora se incluye en la salida JSON de failureMessages, mejorando las capacidades de depuración.

Impact for QA Teams

Esta actualización agiliza las pruebas para aplicaciones JavaScript modernas, especialmente aquellas que adoptan ESM y la Temporal API. El soporte mejorado para snapshots de React 19 asegura pruebas de UI consistentes. El nuevo flag --collect-tests ayuda en el descubrimiento y planificación de pruebas, mejorando la gestión general de las mismas.

FAQ

Q: ¿Cuál es la mejora principal para ESM? A: Jest v30.4.0 presenta una reescritura del runtime, habilitando el soporte require(esm) en Node 24.9+ para un mejor testing de módulos ESM.

Q: ¿Cómo ayuda esta actualización con las pruebas sensibles al tiempo? A: Añade fake timers para la Temporal API de Node v26, permitiendo un control preciso del tiempo en pruebas que usan objetos Temporal.

Q: ¿React 19 es totalmente compatible ahora? A: Sí, pretty-format ahora soporta correctamente React 19, asegurando pruebas de snapshots precisas para componentes React.