Chuck's Academy

Testing JavaScript and DOM with Mocha

Automatización de pruebas con CI/CD usando Mocha

La integración continua (CI) y la entrega/despliegue continuo (CD) son prácticas esenciales en el desarrollo moderno que permiten a los equipos implementar cambios de código rápidamente y con alta calidad mediante la automatización de las pruebas y el despliegue. En este capítulo, aprenderemos cómo configurar Mocha para ejecutarse en un pipeline de CI/CD.

¿Qué es CI/CD?

  • CI (Integración Continua): Automatiza la integración del código de múltiples desarrolladores en un repositorio compartido, asegurando que el nuevo código no rompa la aplicación.
  • CD (Entrega/Despliegue Continuo): Automatiza el despliegue del código probado en diferentes entornos (testing, staging, producción).

Herramientas de CI/CD Populares

Para este ejemplo, veremos cómo configurar Mocha en dos de las herramientas más populares:

  1. GitHub Actions
  2. Jenkins

Configuración de Mocha con GitHub Actions

GitHub Actions permite automatizar procesos directamente en tu repositorio de GitHub.

Paso 1: Crear un Archivo de Workflow

Crea un directorio en tu repositorio .github/workflows y añade un archivo YAML, por ejemplo, ci.yml.

yaml

Paso 2: Ejecutar el Workflow

Cada vez que haces un push a la rama main o a una pull request contra main, GitHub Actions ejecutará el workflow definido. Puedes ver los resultados en la pestaña "Actions" de tu repositorio en GitHub.

Configuración de Mocha con Jenkins

Jenkins es una herramienta de automatización de código abierto que permite configurar pipelines de construcción y despliegue.

Paso 1: Crear un Jenkinsfile

Crea un archivo llamado Jenkinsfile en la raíz de tu repositorio con el siguiente contenido:

groovy

Paso 2: Configurar Jenkins

  1. Instala Jenkins: Si no tienes Jenkins instalado, puedes seguir la guía oficial de instalación de Jenkins aquí.
  2. Configura Node.js en Jenkins: Instala el plugin de Node.js en Jenkins y configúralo con las versiones de Node.js que necesites.
  3. Crea un Nuevo Pipeline: Entra a Jenkins, crea un nuevo proyecto tipo Pipeline y configura tu repositorio de Git. Jenkins usará el Jenkinsfile que creaste para ejecutar el pipeline.

Reportes de Resultados

Para que las herramientas de CI/CD puedan parsear y mostrar resultados de pruebas de manera efectiva, puedes usar diferentes reportes. Puedes instalar y configurar el reporter mocha-junit-reporter para generar resultados en formato JUnit.

Instalar mocha-junit-reporter

Instala mocha-junit-reporter usando npm:

sh

Configurar mocha-junit-reporter

En tu archivo package.json, configura Mocha para usar el reporter:

json

Ambos sistemas (GitHub Actions y Jenkins) pueden leer este archivo de resultados y mostrarlo en sus interfaces de usuario.

Conclusión

Configurar Mocha para ejecutarse automáticamente en un pipeline de CI/CD asegura que tu código sea probado constantemente, detectando errores y problemas lo más pronto posible. Con herramientas como GitHub Actions y Jenkins, puedes integrar Mocha de manera eficiente y mantener una alta calidad de tu código a lo largo del ciclo de desarrollo.

En el próximo capítulo, exploraremos las mejores prácticas para testing con Mocha y cómo aplicarlas en tus proyectos.


Ask me anything