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-devAgrega 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:

