Pruebas unitarias y TDD con NodeJS y Mocha (Parte 1). Entendiendo conceptos

El desarrollo guiado por pruebas, concretamente el que llamamos Test Driven Development (TDD), que es diferente del ATDD / BDD, es una una manera de trabajar que involucra tres prácticas: la primera de ellas, escribir las pruebas (unitarias) con anterioridad al código (Test First Development), luego implementar el código que pase esas pruebas y una vez escrito el código, la refactorización posterior al código desarrollado (te dejo un post sobre refactorización).

Ciclo TDD
Ciclo de vida TDD

Para escribir los tests, generalmente se utilizan las pruebas unitarias (unit test). La idea de las pruebas unitarias es probar y verificar de manera aislada el funcionamiento de partes específicas de una aplicación, de tal manera que al ejecutar todas las pruebas unitarias se puede asegurar que todas las partes del código están funcionando de manera esperada.
No me extiendo más en esto, dado que ya hemos hablado en varias ocasiones de ello, te dejo aquí algunos enlaces:

En esta serie de post me voy a centrar en hacer pruebas unitarias o TDD usando Mocha corriendo sobre NodeJS (veremos ahora qué es cada cosa).

Sobre Mocha…

Y como ya adelantaba antes, Mocha es un framework de pruebas para JavaScript que se ejecutan en NodeJS y nos ayuda a tener un marco de trabajo para realizar nuestras pruebas de manera ordenada. Mocha es el sucesor oficial de Expresso (otro framework de pruebas de JavaScript). Algunas características de Mocha son:

  • Soporte para diferentes navegadores
  • Informes de cobertura de código
  • API Javascript para ejecutar pruebas.
  • Soporte de Debugger para NodeJS.

A efectos prácticos, durante nuestro desarrollo, Mocha nos ofrecerá un entorno en el que agrupar nuestros tests y mostrar los resultados de los mismos.
Cada bloque de tests se delimita mediante un objeto de tipo «describe» mientras que cada caso a testear esta dentro de un objeto de tipo «it» como se puede ver en la siguiente imagen (veremos esto con más detalle en un caso práctico):

mocha
Ejemplo Prueba con Mocha

La primera línea de este código llama a la librería “assert”para comprobar una funcionalidad específica y poder realizar las «asserts» (se utiliza las clases Assert del espacio de nombres UnitTestingFramework).
La cuarta línea describe el nombre de la prueba unitaria.
La quinta línea verifica si la subcadena se encuentra dentro de la cadena.
Una vez escrita la prueba unitaria ejecutamos el siguiente comando $mocha y por el mismo terminal te mostrará si has completado o no el test (lo veremos más adelante). Te dejo aquí más información sobre Mocha, su wiki y su grupo de google.
En los post posteriores lo mostraré con más detalle mediante un caso práctico.
Hasta aquí el post de hoy, espero que os haya servido, ya sea para conocer má tecnologías por conocimiento, o que os puedan ayudar en vuestro trabajo diario, como bien decía antes, escribiré un caso práctico sobre lo que os he contado.

Javier Garzás

0 comentarios en “Pruebas unitarias y TDD con NodeJS y Mocha (Parte 1). Entendiendo conceptos”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Ir arriba