Uso Práctico de Mocha y Chai para Pruebas en JavaScript: Tres Ejemplos Detallados

Mocha y Chai son marcos de prueba muy populares en JavaScript que permiten crear pruebas unitarias y de comportamiento para tu código. Mocha proporciona la estructura general de la prueba, mientras que Chai ofrece varias opciones de aserciones que puedes utilizar para validar tus resultados.

A continuación, te proporcionaré tres ejemplos prácticos de cómo podrías utilizar Mocha y Chai para probar algunas funciones en JavaScript.

Ejemplo 1: Probar una función suma

Imagina que tienes una función sencilla que suma dos números. Querrás asegurarte de que devuelva el resultado correcto.

				
					// La función que quieres probar
function suma(a, b) {
    return a + b;
}

// Ahora, la prueba
const chai = require('chai');
const expect = chai.expect;

describe('suma()', function() {
    it('debe devolver la suma de dos números', function() {
        expect(suma(1, 2)).to.equal(3);
        expect(suma(-1, -2)).to.equal(-3);
        expect(suma(-1, 1)).to.equal(0);
    });
});

				
			

Ejemplo 2: Probar una función que devuelve un array

En este caso, tienes una función que devuelve un array de números del 1 al N.

				
					// La función que quieres probar
function generarNumeros(n) {
    const numeros = [];
    for(let i=1; i<=n; i++) {
        numeros.push(i);
    }
    return numeros;
}

// Ahora, la prueba
const chai = require('chai');
const expect = chai.expect;

describe('generarNumeros()', function() {
    it('debe devolver un array con los números del 1 al N', function() {
        expect(generarNumeros(5)).to.deep.equal([1, 2, 3, 4, 5]);
        expect(generarNumeros(3)).to.deep.equal([1, 2, 3]);
    });
});

				
			

Ejemplo 3: Probar una función asíncrona

Imagina que tienes una función que devuelve una promesa. Podrías querer probar si se resuelve correctamente.

				
					// La función que quieres probar
function promesa() {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve("¡Promesa resuelta!");
        }, 1000);
    });
}

// Ahora, la prueba
const chai = require('chai');
const expect = chai.expect;

describe('promesa()', function() {
    it('debe resolver la promesa correctamente', async function() {
        const resultado = await promesa();
        expect(resultado).to.equal("¡Promesa resuelta!");
    });
});

				
			

Estos son sólo algunos ejemplos de cómo podrías utilizar Mocha y Chai para probar tu código JavaScript. Hay muchas otras aserciones y características que podrías utilizar, dependiendo de tus necesidades.

Facebook
Twitter
LinkedIn

Nuevas/ publicaciones

Nuevas/ publicaciones