Pruebas unitarias con Mocha y Chai

Las pruebas unitarias son una parte fundamental del desarrollo de software, ya que nos permiten verificar el correcto funcionamiento de pequeñas unidades de código de forma aislada. Mocha y Chai son dos herramientas muy populares en el mundo de JavaScript para realizar pruebas unitarias. En este artículo, exploraremos cómo utilizar Mocha y Chai para escribir y ejecutar pruebas unitarias eficientes y efectivas.

Introducción a Mocha y Chai

Mocha es un popular marco de pruebas para JavaScript que se utiliza tanto en el lado del cliente como en el servidor. Proporciona una estructura flexible y poderosa para escribir pruebas, permitiendo diferentes estilos de escritura y la ejecución de pruebas de manera secuencial o asincrónica.

Chai, por otro lado, es una biblioteca de aserciones (assertions) que se utiliza comúnmente con Mocha para realizar afirmaciones y verificar resultados en las pruebas. Chai ofrece una sintaxis expresiva y legible que facilita la escritura de pruebas claras y concisas.

Configuración inicial

Para comenzar a utilizar Mocha y Chai, primero debemos configurar nuestro entorno de prueba. Esto implica instalar las dependencias necesarias a través de npm (Node Package Manager) y configurar la estructura de directorios para nuestras pruebas y el código fuente.

  1. Crea un nuevo directorio para tu proyecto de pruebas y abre una terminal en ese directorio.
  2. Inicializa un nuevo proyecto de npm ejecutando el siguiente comando:
				
					npm init -y
				
			

Esto creará un archivo package.json con la configuración básica para tu proyecto. 3. Instala Mocha y Chai como dependencias de desarrollo ejecutando el siguiente comando:

				
					npm install mocha chai --save-dev
				
			
  1. Crea un directorio llamado test en el directorio raíz de tu proyecto. Este será el lugar donde almacenaremos nuestras pruebas.
  2. Crea un archivo llamado test.js dentro del directorio test. Aquí es donde escribiremos nuestras pruebas.

Escribir pruebas con Mocha y Chai

Una vez que hayas configurado tu entorno de pruebas, puedes comenzar a escribir tus pruebas utilizando Mocha y Chai. Supongamos que queremos probar una función simple llamada sum que suma dos números.

Abre el archivo test.js y escribe lo siguiente:

				
					// Importa la biblioteca Chai y los estilos de aserción que deseas utilizar
const { expect } = require('chai');

// Importa la función que deseas probar
const { sum } = require('../ruta/a/tu/codigo');

// Describe el grupo de pruebas
describe('Sum function', () => {
  // Define la primera prueba
  it('should return the sum of two numbers', () => {
    // Invoca la función sum y verifica el resultado utilizando Chai
    const result = sum(2, 3);
    expect(result).to.equal(5);
  });

  // Define otra prueba
  it('should return NaN if one of the arguments is not a number', () => {
    const result = sum(2, '3');
    expect(result).to.be.NaN;
  });
});

				
			

En este ejemplo, importamos la biblioteca Chai y el estilo de aserción expect que nos permite realizar afirmaciones. Luego, importamos la función sum que deseamos probar desde nuestro código fuente.

Después de eso, utilizamos la función describe de Mocha para agrupar nuestras pruebas. Dentro de describe, utilizamos la función it para definir pruebas individuales. Dentro de cada prueba, invocamos la función sum con diferentes argumentos y utilizamos las aserciones de Chai para verificar los resultados esperados.

Ejecutar pruebas

Para ejecutar las pruebas, simplemente abre una terminal en el directorio raíz de tu proyecto y ejecuta el siguiente comando:

				
					npx mocha
				
			

Esto ejecutará todas las pruebas encontradas en el directorio test y mostrará los resultados en la consola. Si todas las pruebas pasan, verás una salida similar a la siguiente:

				
					  Sum function
    ✓ should return the sum of two numbers
    ✓ should return NaN if one of the arguments is not a number

  2 passing (10ms)

				
			

¡Felicidades! Has escrito y ejecutado tus primeras pruebas unitarias utilizando Mocha y Chai.

Conclusiones

Las pruebas unitarias son una práctica fundamental para asegurar la calidad del software. Mocha y Chai son herramientas poderosas que facilitan la escritura y ejecución de pruebas en JavaScript. Mocha proporciona una estructura flexible para organizar tus pruebas y Chai ofrece una sintaxis expresiva para realizar afirmaciones.

Con estas herramientas, puedes escribir pruebas claras y concisas para verificar el comportamiento de tus funciones y módulos, lo que te ayudará a detectar y corregir errores de manera temprana en el ciclo de desarrollo. ¡Así que no dudes en utilizar Mocha y Chai en tu próximo proyecto y lleva tus habilidades de pruebas unitarias al siguiente nivel!

Facebook
Twitter
LinkedIn

Nuevas/ publicaciones

Nuevas/ publicaciones