Mocha para JavaScript (Node.js): guía completa con ejemplos
1. ¿Qué es y para qué sirve?
Mocha es un potente, flexible y ampliamente utilizado framework de testing para JavaScript, que funciona tanto en Node.js como en el navegador. Fue creado en 2011 por el desarrollador TJ Holowaychuk y desde entonces se ha convertido en uno de los estándares de facto para probar aplicaciones JavaScript. Mocha ofrece a los desarrolladores una API limpia, modular y expresiva para escribir desde pruebas unitarias simples hasta complejos escenarios de pruebas asíncronas e integración.
El objetivo principal de Mocha es hacer que el proceso de testing sea lo más simple e intuitivo posible. A diferencia de otros frameworks, Mocha no impone una estructura rígida de pruebas ni incluye una librería de aserciones integrada. En su lugar, proporciona un esqueleto (framework) para organizar las pruebas (describe/it/hooks) y ejecutarlas con diferentes reportes (reporters), dejando la elección de la librería de aserciones a criterio del desarrollador. Esto hace que Mocha sea extremadamente flexible: puedes usarlo con el módulo nativo assert, la popular librería Chai (que ofrece estilos BDD/TDD), Should.js o cualquier otra.
¿Para qué sirve Mocha? En el desarrollo de software moderno, las pruebas no son un lujo, sino una necesidad. Mocha permite automatizar la verificación del correcto funcionamiento del código, detectar regresiones tras cambios, documentar el comportamiento de funciones y módulos, y aumentar la fiabilidad y estabilidad general de la aplicación. Gracias a su soporte para pruebas asíncronas (callbacks, promesas, async/await) y la capacidad de trabajar con diversas librerías de aserciones, Mocha es ideal para probar aplicaciones de servidor en Node.js, APIs, bases de datos y cualquier otro componente.
2. Instalación
Mocha se instala a través del gestor de paquetes npm (Node Package Manager). Se recomienda instalarlo como dependencia de desarrollo (devDependency), ya que las pruebas no son necesarias en el entorno de producción.
Comando exacto para instalar:
npm install --save-dev mocha
Después de la instalación, puedes ejecutar las pruebas añadiendo un script en el archivo package.json:
{
"scripts": {
"test": "mocha"
}
}
Ahora puedes ejecutar las pruebas con el comando:
npm test
Para una instalación global (no recomendada, pero posible):
npm install -g mocha
3. Inicio rápido — ejemplo mínimo funcional
Crea un archivo test.js con el siguiente contenido:
const assert = require('assert');
// Función que vamos a probar
function sumar(a, b) {
return a + b;
}
// Grupo de pruebas (suite)
describe('Función sumar', function() {
// Prueba específica (spec)
it('debe devolver la suma de dos números', function() {
// Aserción (assertion)
assert.strictEqual(sumar(2, 3), 5);
});
it('debe funcionar con números negativos', function() {
assert.strictEqual(sumar(-1, -1), -2);
});
});
Ejecuta la prueba:
npx mocha test.js
Deberías ver un informe verde indicando que las dos pruebas pasaron correctamente.
4. Métodos/funciones/clases principales
Mocha proporciona funciones globales que no necesitan importarse (a menos que se desactiven con la opción --require). A continuación se presentan 8 métodos clave con sus firmas, descripciones y ejemplos.
4.1 describe(nombre, fn)
Firma: describe(nombre: string, fn: function): void
Qué hace: Crea un grupo de pruebas (suite) — un conjunto de pruebas relacionadas. Se utiliza para organizar lógicamente las pruebas. Puede anidarse.
También en la biblioteca
Sharp para JavaScript (Node.js): guía completa con ejemplos
Mongoose para JavaScript (Node.js): guía completa con ejemplos
Serialización de objetos en C++: bibliotecas y métodos
Trabajo con S3 y almacenamiento en la nube en Swift (iOS/macOS): librería AWSS3
Trabajo con CSV en PHP: biblioteca SplFileObject y funciones integradas