jueves, 30 de enero de 2020

Qué es Mocha para javascript en 2 minutos

Mocha es un framework para construir pruebas automatizadas de módulos javascript. Mocha se puede utilizar tanto para módulos que se ejecutan en NodeJS cómo los que se ejecutan en un browser.

Preparando un ejemplo de 2 minutos 

Este ejemplo se ha preparado en un equipo con Windows y NodeJS previamente instalados. 

Para instalar NodeJs en Windows ir a https://nodejs.org/en/ descargar el fichero y seguir los pasos de instalación. 

Pasos a seguir:

1. Crear un directorio PruebaMocha. Desde el directorio creado, para instalar Mocha usar el comando:

npm install mocha

cómo resultado del comando aparece un directorio node_modules que contiene las librerías del framework Mocha.

2. Para construir la prueba crear el fichero miprimermochatest.js con el siguiente contenido: 

    Var assert = require('assert'); 
    describe('Array', function() { 
      describe('#indexOf()', function() { 
        it('should return -1 when the value is not present',
            function(){
          assert.equal([1, 2, 3].indexOf(4), -1);
        });
        it('should return 0 when value 1 is present on position 0', 
            function() {
          assert.equal([1, 2, 3].indexOf(1), 0);
        });
      });
    }); 

3. Para ejecutar la prueba usar desde el directorio PruebaMocha el comando:

node_modules\.bin\mocha miprimermochatest.js 

Se obtiene el resultado: 

    Array
     #indexOf()
     √ should return -1 when the value is not present
     √ should return 0 when value 1 is present on position 0
    2 passing (12ms) 

Conclusión


Este código es un ejemplo muy sencillo para mostrar cómo se automatizan las pruebas. Aquí, el código probado está incluido en el propio módulo de prueba, sin embargo normalmente el código probado está en módulos aparte que constituyen el código del aplicativo que se está probando.

En definitiva se trata de hacer programas que prueban programas. Aprender a hacer programas que tienen pruebas automatizadas, no es baladí. Para que las pruebas sean funcionales y operativas, no solo se deben preparar pruebas bien diseñadas sino que los módulos a probar también tienen que estar diseñados de manera que sean testables. Pero esa, es otra historia.

No hay comentarios:

Publicar un comentario