Saturday, June 6, 2020

¡Ningún commit sin sus tests en verde!




¿Cuántas veces has tenido que hacer un 'git commit -m "Fix test"' super descriptivo porque te has olvidado de tirar los tests pensando que el cambio no afecta?

Si la ejecución de los tests no te supone un dolor y eres despistado como yo... ¡Acho! automatiza esto también. 

¿Cómo?


Git tiene una serie de archivos que te permiten ejecutar comandos antes o después de algunas acciones concretas y se llaman Git Hooks

Seguramente tengas algunos ejemplos en tus repos de git para hacerte una idea

ls -lah .git/hooks



Ejemplo


¿Como lanzar tests antes del commit en Laravel?

Estando la carpeta root del proyecto

  echo "php artisan test" > .git/hooks/pre-commit
  chmod +x .git/hooks/pre-commit    

Primero creamos el archivo pre-commit y dentro el comando 'php artisan test', git necesita que el comando sea ejecutable así que le añadimos los permisos con chmod