Desarrollo Web: Mocha

Mocha es un framework de Javascript que sirve para ejecutar tests unitarios de manera asíncrona tanto para Node.js como para navegador.

Es un proyecto Open Source, puedes encontrar su GIT oficial en este enlace: https://github.com/mochajs/mocha

Mocha es ampliamente utilizado en el desarrollo front, es muy sencillo de usar y de implementar.

Para utilizarlo con Node.js debes instalarlo de manera global (npm install --global mocha) o de manera local para tu proyecto (npm install --save-dev mocha).

Una vez lo tienes instalado debes crear un fichero js donde programar todos los elementos de tu test.

De una manera muy básica los tests de Mocha se estructuran alrededor de tres elementos:

* beforeEach: Es el bloque de código donde realizas el setup necesario para poder hacer los tests.
* describe: Agrupa los tests a realizar por elementos del proyecto.
* it: Recoge cada test unitario de manera individual, suele contener un asset para verificar la ejecución correcta o incorrecta.

Os pongo aquí un ejemplo muy sencillo:

class Car {
  park(){
    return 'stopped';
  }

  drive(){
    return 'vroom';
  }
}

let car;

beforeEach(() => {
  car = new Car();
});

describe('Car', () => {
  it('can park', () => {
    assert.equal(car.park(), 'stopped');
  });

  it('can drive', () => {
    assert.equal(car.drive(), 'vroom');
  });
});

Obviamente este es tan solo un pequeño post para hablar de manera muy ligera sobre Mocha. En mi caso lo utilizo en los proyectos que hago con Node.js, si queréis saber más os recomiendo visitar su web oficial: https://mochajs.org.

Comentarios