Usando Coverage en Mocha para pruebas efectivas

Autor: | Última modificación: 18 de marzo de 2024 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

Algunos de nuestros reconocimientos:

Premios KeepCoding

En el mundo de desarrollo web, contar con las habilidades y herramientas correctas para probar tu código es crucial para garantizar la entrega de productos de calidad y minimizar el tiempo de resolución de errores. En este artículo, nos centraremos en una herramienta específica que te permitirá hacer precisamente eso: Coverage en Mocha.

Mocha es una potente biblioteca de pruebas para JavaScript que te permite ejecutar pruebas sincrónicas y asincrónicas en tu código. En pocas palabras, Coverage en Mocha es una métrica que nos indica el porcentaje de nuestro código que ha sido probado, algo así como un informe de salud para nuestro código.

¿Qué es la cobertura de código (code coverage)?

Imagina que estás construyendo un edificio. No lo construirías sin inspeccionar regularmente el progreso, ¿verdad? De igual forma, en el desarrollo de software, la cobertura de código es esa inspección regular que garantiza que todas las partes de tu código se han probado. Aquí es donde entra en juego Coverage en Mocha.

Como hemos dicho, Mocha es una biblioteca de pruebas de JavaScript que proporciona una manera sencilla de realizar pruebas sincrónicas y asincrónicas en tu código. Para llevar nuestras pruebas con Mocha al siguiente nivel, podemos emplear Istanbul.js, la herramienta de cobertura de código que vamos a usar.

Coverage con Mocha

Instalar y configurar Istanbul.js

Primero, necesitamos instalar la librería Istanbul.js en nuestro proyecto. Para ello, simplemente vamos a nuestra línea de comandos y escribimos:

npm install --save-dev nyc

Una vez instalada, necesitamos decirle a nuestro proyecto que queremos usar Istanbul.js para la cobertura de código. Para ello, vamos a nuestro archivo package.json y añadimos la siguiente configuración:

"nyc": {
  "reporter": ["html"],
  "include": ["src/**/*.js"]
}

Con esto, le estamos diciendo a Istanbul.js que queremos un reporte en formato HTML y que debe cubrir todos los archivos .js en nuestra carpeta src.

Realizar pruebas y obtener el reporte de cobertura de código

Ahora que tenemos todo configurado, podemos realizar nuestras pruebas y obtener nuestro reporte de cobertura de código. Para ello, simplemente vamos a la línea de comandos y escribimos:

npm run test

Esto ejecutará todas nuestras pruebas y generará un reporte de cobertura de código en formato HTML en la carpeta coverage de nuestro proyecto.

Al abrir el archivo index.html en nuestro navegador, podemos ver de forma visual y clara qué partes de nuestro código han sido cubiertas por las pruebas y cuáles no. Esto nos permite centrar nuestros esfuerzos en esas partes de nuestro código que requieren más atención.

La cobertura de código o Coverage en Mocha e Istanbul.js es una potente herramienta que nos permite asegurarnos de que todas las partes de nuestro código han sido probadas. No solo nos ayuda a detectar posibles errores y bugs, sino que también mejora la calidad de nuestro código y, en última instancia, del producto que estamos construyendo.

Ejemplo práctico

Un ejemplo práctico de usar Coverage en Mocha sería una aplicación web para reservar vuelos. Con Mocha y Coverage, puedes escribir pruebas para cada función en tu aplicación, como la búsqueda de vuelos, la selección de asientos, el pago, etc. Luego, al ejecutar tus pruebas, Coverage te proporciona un informe que indica qué funciones se han probado y cuáles no. Si, por ejemplo, olvidaste escribir pruebas para la función de selección de asientos, Coverage te lo indicará, permitiéndote escribir y ejecutar las pruebas necesarias.

En resumen, conocer cómo usar Coverage en Mocha no solo te permite escribir y ejecutar pruebas más efectivas, sino que también mejora la calidad de tu código y te permite entregar productos más robustos y confiables.

Continúa aprendiendo con nosotros

¿Te ha parecido interesante? ¿Quieres aprender más sobre estas y otras herramientas y técnicas de desarrollo web? Entonces, te invitamos a apuntarte a nuestro Desarrollo Web Full Stack Bootcamp. Este programa no solo te enseñará las habilidades técnicas que necesitas para convertirte en un desarrollador web profesional, sino que también te ayudará a dar un salto cualitativo en tu carrera. El sector tecnológico es una industria en constante crecimiento, con una alta demanda de profesionales y con salarios competitivos. ¡Pide más información ahora y sigue aprendiendo!

Artículos ms leídos

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado