Programacion

Cómo ejecutar tests automáticamente con husky antes de cada commit

Avatar de Victor Ribero

Victor Ribero

· 5 min read

Algunas personas tienen dificultades para recordar que tienen que ejecutar los tests antes de comprometer cualquier cambio. Y esto, es importante no olvidarlo para evitar subir al repositorio de nuestro código algo que rompa nuestra "build".

Mientras construía una comunidad internacional para amantes de las plantas de interior, me di cuenta de que tenía muchos tests pero no los incluía en ningún flujo de trabajo.

¿Cuál es el problema, podrías preguntarte? Enseguida me di cuenta de que no las estaba ejecutando constantemente, con lo que... estaba perdiendo información.

Automatizar al maximo posible tareas como revision de tipos y ejecutar los tests, nos permite tener confianza a la hora de introducir cambios importantes porque evita subir código que no queremos en el repositorio remoto.

Algunas personas usan git hooks para estas tareas.

Si estás usando git como control de versiones, es posible que sepas que tiene algunos hooks nativos que están ocultos dentro de la carpeta

.git
.

¿Cómo podemos usar git hooks fácilmente?

La mejor y más fácil manera de usar git hooks localmente es usando una biblioteca muy conocida llamada Husky. ¡Esta nos permite manejar los git hooks muy fácilmente!

¿Cómo usar Husky para ejecutar tests antes del commit?

El uso de Husky es bastante sencillo.

Solo necesitamos instalar el paquete y agregar alguna configuración al fichero

package.json
. ¡Nada más!

Cómo instalar Husky

Es importante instalar Husky solo en entornos de desarrollo porque no es un requisito de producción.

Puedes instalar Husky ejecutando la siguiente línea de código:

npm install husky --save-dev

Agrega la configuración de Husky en package.json

En la raíz de su proyecto, tendrás un fichero

package.json
. Ábrelo y coloca la configuración de Husky en la raíz del JSON.

Encontré interesante agregar tests en mi pre-commit y pre-push, por lo que cada vez que intento ejecutar

git commit
o
git push
, los tests se ejecutan.

Pero siéntete libre de agregar tantas cosas como desees, como linter, formato, tests, etc. Al igual que el código a continuación:


¿Y ahora qué?

¡Ahora estás listo para usarlos! Pruébelo enviando algo en ejecución:

Avatar de Victor Ribero

Acerca de Victor Ribero

Victor es un desarrollador de software que se enfoca en hacer lo mas humano posible todos los productos en los que trabaja. Dedica gran parte de su tiempo a formarse, propagar conocimiento y conocer gente nueva.
Copyright © 2022. Todos los derechos reservados.