Qué hay de nuevo en el Node.js Test Runner y por qué es revolucionario

Rate this content
Bookmark

El nuevo test runner de Node es bastante genial pero todavía no mucha gente lo está utilizando. En mi charla, te mostraré todas las cosas interesantes que puede hacer, incluyendo algunas características en las que trabajé. Echaremos un vistazo bajo el capó de Node para ver cómo funcionan las simulaciones y cómo usarlas. También hablaré sobre lo que viene para el runner y qué esperar en el futuro. ¡Prepárate para mejorar tu juego de pruebas con aserciones nativas y mantener las cosas funcionando rápido!

Lucas Santos
Lucas Santos
17 min
04 Apr, 2024

Comments

Sign in or register to post your comment.

Video Summary and Transcription

El Node.js Test Runner se presenta como una mejor alternativa a Jest, ofreciendo más flexibilidad y mejor rendimiento. Admite TypeScript de forma nativa y proporciona una visualización completa del conjunto de pruebas. El test runner tiene soporte nativo para la cobertura de código y las próximas características incluyen simulación de módulos y mejor filtrado. Cambiar al test runner es simple y ayuda al crecimiento de la comunidad.

1. Introducción al Node.js Test Runner

Short description:

Hola a todos. Hoy vamos a hablar sobre el Node.js Test Runner. Soy Luca Santos, un ingeniero de software senior en OpenVault. Puedes contactarme en Twitter e Instagram en elsantos.dev.

Hola a todos. Hoy vamos a hablar sobre el Node.js Test Runner. Así que primero que nada, me voy a presentar. Mi nombre es Luca Santos. Soy uno de los ingenieros de software senior en OpenVault hoy en día. Vivo en Suecia. Soy originario de Brasil. Y puedes contactarme en cualquiera de mis redes sociales. Básicamente, están las que están en la parte inferior. Twitter.elsantos.dev, Instagram.elsantos.dev. Ya sabes, entiendes la idea. Luca es un nombre muy común en Brasil. Así que básicamente, tuve que elegir DNS sobre Nix en las redes sociales. Así que solo coloca el nombre de la red social seguido de .elsantos.dev. O si tienes dudas sobre alguna red social en la que quieras hablar conmigo, solo .elsantos.dev te llevará a mi página principal donde está todo. ¿De acuerdo? Estoy totalmente abierto a hablar de cualquier cosa. Así que contáctame y será muy agradable.

2. Los beneficios del Node.js Test Runner

Short description:

Mi objetivo con esta charla es hacer que dejes de usar Jest por algo mejor, el Node.js test runner. Jest está desactualizado y tiene limitaciones. El Node.js test runner se mejora constantemente y ofrece más flexibilidad. Los test runners actuales son difíciles de configurar, especialmente para TypeScript, y a menudo requieren bibliotecas adicionales que pueden ralentizar tu proyecto. También carecen de interoperabilidad y pueden ser inflexibles.

A continuación, compartiré mi objetivo en esta charla contigo. ¿Cuál es el objetivo que tengo con esta charla? Es hacer que dejes de usar Jest al final. Así de simple. No odio Jest. De hecho, lo uso mucho. Pero he tenido mi parte justa de problemas. Y creo que es hora de seguir adelante, ¿verdad? Creo que es hora de que necesitamos algo nuevo, algo mejor. Jest es muy antiguo, ¿verdad? Es muy bueno, pero el tiempo ha pasado, ¿verdad?

Así que voy a hacer esto. Te voy a presentar algo que posiblemente sea mejor. Pero ¿por qué posiblemente mejor? Bueno, porque el Node.js test runner todavía se está mejorando activamente. Así que hay muchas cosas que están sucediendo. Hay muchas cosas que ya tenemos, pero aún faltan muchas cosas. Así que puedes ayudar si quieres, ¿de acuerdo?

Pero primero, ¿qué es malo en el entorno actual? ¿Por qué necesitamos otro test runner? ¿No es suficiente lo que tenemos hoy? Básicamente, lo primero es que son demasiado difíciles de configurar, especialmente para TypeScript. Y hacen muchas cosas. Configurar Jest es un dolor. Es un archivo de configuración muy grande. Hacen muchas cosas. Hacen transformaciones, hacen análisis, hacen movimientos, hacen aserciones, tienen cobertura. Es simplemente demasiado. Y esto los hace lentos, ¿verdad? Porque, bueno, es demasiado. Y luego tienes un concepto que llaman yall, que básicamente es otra biblioteca más en tu proyecto. Porque los runners, en mi opinión, deberían ser una parte de tu entorno de ejecución. No deberías poder instalar, no deberías instalar otra biblioteca para tener un runner. Y recuerda, cada otra biblioteca, cada paquete que se instala en tu proyecto es un code que no mantienes, pero en el que aún dependes, ¿verdad? Así que si algo sucede, pagarás el precio. Y los test runners parecen no querer interoperar entre sí. Se aseguran de que solo puedas usarlos a ellos y a nada más. Así que es muy difícil cambiar de uno a otro. Son cosas completamente diferentes. La mayoría de ellos son bastante dogmáticos. Así que son o muy extensibles o no extensibles en absoluto.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Cómo Bun hace que la construcción de aplicaciones React sea más simple y rápida
React Day Berlin 2022React Day Berlin 2022
9 min
Cómo Bun hace que la construcción de aplicaciones React sea más simple y rápida
El transpilador JSX incorporado de Bun, las recargas en caliente en el servidor, el punning de propiedades JSX, la API de macros, las instalaciones automáticas de paquetes, el soporte de console.log JSX, el renderizado en el servidor 4 veces más rápido y más hacen de Bun el mejor entorno de ejecución para construir aplicaciones React
Compatibilidad con Node.js en Deno
Node Congress 2022Node Congress 2022
34 min
Compatibilidad con Node.js en Deno
¿Puede Deno ejecutar aplicaciones y bibliotecas creadas para Node.js? ¿Cuáles son los compromisos? ¿Cómo funciona? ¿Qué sigue?
Bun, Deno, Node.js? Recreando un tiempo de ejecución de JavaScript desde cero - Comprende la magia detrás de Node.js
Node Congress 2023Node Congress 2023
29 min
Bun, Deno, Node.js? Recreando un tiempo de ejecución de JavaScript desde cero - Comprende la magia detrás de Node.js
Bun, Deno y muchos otros tiempos de ejecución de JavaScript han sido elogiados, pero ¿sabes por qué? ¿Es tan fácil crear un tiempo de ejecución desde cero?

He estado investigando el secreto detrás del poder de Node.js y por qué hay tantos nuevos tiempos de ejecución de JavaScript surgiendo. Desglosando cada componente clave utilizado en Node.js, he llegado a conclusiones interesantes que muchas personas solían decir, pero en la práctica funciona de manera un poco diferente.

En esta charla, los asistentes aprenderán los conceptos utilizados para crear un nuevo tiempo de ejecución de JavaScript. Pasarán por un ejemplo de cómo hacer un tiempo de ejecución de JavaScript siguiendo lo que está detrás de escena en el proyecto Node.js utilizando C++. Aprenderán la relación entre V8 de Chrome y Libuv y qué hace que un tiempo de ejecución de JavaScript sea mejor que otros.

Esta charla cubrirá los siguientes temas:
- ¿Qué es un motor de JavaScript - V8
- ¿Por qué Node.js utiliza Libuv
- Cómo crear un tiempo de ejecución de JS desde cero
Evaluar todas las cadenas! - JavaScript endurecido
Node Congress 2023Node Congress 2023
8 min
Evaluar todas las cadenas! - JavaScript endurecido
Esta charla trata sobre SecureEcmaScript y Compartments, que son propuestas de TC39, y estoy trabajando en herramientas para hacer que estos conceptos sean utilizables con las personas que defienden esas propuestas.
Esta es una cuenta de primera mano sobre el futuro de la seguridad de JavaScript.
SES + herramientas (LavaMoat o Endo) están haciendo posible limitar el acceso a la red, fs, módulos principales o globales por paquete.
Quiero mostrar cómo funcionan, qué posibilidades abren y cómo hacer que ese futuro suceda hoy con un poco de esfuerzo.
Para mí, este es el paso final para asegurar la cadena de suministro de npm: incluso si un paquete es tomado por actores maliciosos, no podrá hacerme daño.
El Futuro de los Runtimes de JavaScript
Node Congress 2022Node Congress 2022
34 min
El Futuro de los Runtimes de JavaScript
JavaScript nació en el navegador, Node lo llevó al servidor abrazando primitivas de Unix y E/S asíncrona, y recientemente Cloudflare Workers & Deno Deploy lo llevaron al borde. Veamos hacia dónde se dirigen los runtimes de JavaScript y cómo darán forma al software que escribimos.
Crea tu propio tiempo de ejecución de JavaScript
Node Congress 2023Node Congress 2023
21 min
Crea tu propio tiempo de ejecución de JavaScript
En esta charla, crearemos un pequeño tiempo de ejecución de JavaScript desde cero en Rust. Aprovecharemos el mismo ecosistema de componentes que utiliza Deno para mostrar que crear un tiempo de ejecución personalizado que se ajuste a tus necesidades es simple y divertido en 2023

Workshops on related topic

Construye aplicaciones peer-to-peer con Pear Runtime
JSNation 2024JSNation 2024
152 min
Construye aplicaciones peer-to-peer con Pear Runtime
WorkshopFree
David Mark Clements
David Mark Clements
Aprende cómo construir rápidamente aplicaciones peer-to-peer con Pear Runtime. No se requieren servidores. Comprende los paradigmas peer-to-peer y construye aplicaciones a partir de bloques de construcción bien definidos. En este masterclass se cubrirá cómo crear aplicaciones de escritorio y terminales (con discusión para móviles) que funcionan completamente peer-to-peer desde cualquier lugar del mundo. Al final de este masterclass, deberías saber cómo construir un nuevo tipo de aplicación altamente escalable con costos infraestructurales reducidos (~0) junto con arquitecturas adecuadas y mejores prácticas para aplicaciones peer-to-peer. Del creador de Pear Runtime y la compañía que nos trae keet.io. Tabla de contenido:- Introducción a Pear- Preguntas y respuestas iniciales- Configuración- Creación de una aplicación de escritorio Pear- Compartir una aplicación Pear- Ejecutar una aplicación Pear- Creación de una aplicación terminal Pear- Lanzamiento de una aplicación Pear- Discusiones arquitecturales- Preguntas y respuestas finales