Configuración y uso de Jest para pruebas end-to-end en JavaScript

Clase 4 de 25Curso de End to End Testing para APIs REST con Node.js

Resumen

¿Cómo instalar Jest y escribir una prueba simple?

Cuando se trata de pruebas en JavaScript, Jest lidera el paquete como el framework preferido. Instalando y configurando correctamente esta herramienta, podemos asegurar un entorno robusto para la realización de pruebas tanto unitarias como de extremo a extremo. Aquí te explicaremos cómo comenzar con Jest y escribir tu primera prueba sencilla.

Instalación de Jest

Para empezar, es necesario tener instalado Node.js y npm en tu sistema. Una vez listo, puedes proceder con la instalación de Jest como dependencia de desarrollo:

npm install jest --save-dev

Este comando añadirá Jest a tu proyecto y lo preparará para comenzar a escribir y ejecutar pruebas.

Creando una prueba Jack para comprobar Jest

Después de la instalación, es momento de escribir nuestra primera prueba. Crea una carpeta llamada tests, que será vecina de tu carpeta src, y dentro de esta carpeta crea un archivo, llamémoslo sum.test.js.

Dentro del archivo sum.test.js, agrega la siguiente estructura básica de Jest:

describe('Suite de pruebas', () => {
  test('suma 1 + 1 debería ser 2', () => {
    expect(1 + 1).toBe(2);
  });
});

En este ejemplo, describe crea un conjunto de pruebas, mientras que test define una prueba específica que espera que la expresión 1 + 1 sea igual a 2.

¿Cómo ejecutar pruebas con Jest?

Antes de correr las pruebas, asegúrate de que Jest esté configurado correctamente para reconocer y ejecutar tus archivos de pruebas.

Configuración del archivo package.json

Añade un script de prueba en tu archivo package.json para ejecutar Jest fácilmente:

"scripts": {
  "test": "jest"
}

Ejecutando las pruebas

Con la configuración en su lugar, puedes ejecutar tus pruebas con el siguiente comando:

npm run test

Al ejecutar, Jest buscará archivos de prueba, como sum.test.js, y ejecutará tu prueba, indicándote si ha pasado o si ha fallado.

Si deseas ejecutar pruebas de manera específica o configurar más Jest, el archivo jest.config.js te permitirá personalizar estas configuraciones.

module.exports = {
  testEnvironment: 'node',
  testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.[jt]sx?$',
};

Agregando este archivo te permitirá definir configuraciones particulares, como qué entorno utilizar y qué archivos ejecutar.

¿Cómo configurar pruebas end-to-end?

Las pruebas end-to-end son esenciales para garantizar que todos los procesos de tu aplicación funcionen correctamente de principio a fin. Para configurar Jest para estas pruebas, sigue estos pasos:

Creación de una configuración especial

Necesitamos crear un archivo de configuración dedicado. Nombrémoslo jest-e2e.config.js:

module.exports = {
  testEnvironment: 'node',
  testRegex: '(/__tests__/.*\\.e2e\\.[jt]sx?)$',
  verbose: true,
};

Ejecución de pruebas end-to-end

Incluye un nuevo script en tu archivo package.json para estas pruebas:

"scripts": {
  "e2e": "jest --config=jest-e2e.config.js"
}

Luego, ejecuta las pruebas end-to-end con:

npm run e2e

Esto asegurará que Jest ejecute exclusivamente las pruebas con la extensión .e2e, evitando confusiones con las pruebas unitarias.

Verificación y corrección de errores

A menudo, pequeños errores tipográficos, como usar test en lugar de text, pueden causar problemas. Revisa los mensajes de error de Jest para corregir fácilmente tales inconvenientes.


Dominar Jest no solo te permitirá identificar errores en tus aplicaciones de manera temprana, sino que también te ofrecerá la confianza de que tú código funcione según lo esperado. ¡Sigue practicando y aprendiendo para profundizar en el mundo de las pruebas de software!