[PYTHON] Utiliser watchdog (watchmedo) dans le développement piloté par les tests

Pour le développement piloté par les tests, je pense qu'il est indispensable d'exécuter des tests automatiquement lorsque vous enregistrez. Aussi, ne pensez-vous pas que même si vous écrivez un petit script, ce sera mieux s'il est exécuté automatiquement lorsque vous l'enregistrez?

À ce moment-là, chien de garde (watchmedo)! !! (Bien que divers systèmes d'exploitation disposent de commandes API pour la surveillance, il est recommandé à ceux qui souhaitent suivre la même procédure pour plusieurs systèmes d'exploitation.)

Ajout </ b> </ font>: 07/11/2016 La commande publiée a été testée dans le terminal MINGW32 fourni avec Git pour Windows, mais elle fonctionne à l'invite de commande J'ai été informé qu'il n'y avait rien de tel. Probablement parce que le shell ne fonctionne pas. (Je ne l'ai pas vérifié. Je suis désolé.)

Ajout </ b> </ font>: 14/12/2016 Pour une raison quelconque, seul mon ordinateur personnel fonctionnait deux fois, j'ai donc examiné les commandes d'options. Cela ne fonctionnait pas avec --wait, et l'option -W était pour la prévention de la double exécution. De plus, il semble qu'il ne soit pas nécessaire de décrire [" $ {watch_event_type} "==" modified "] && echo hoge, qui est limité aux événements de mise à jour, donc je l'ai supprimé de l'article.

install

Si vous utilisez un système d'exploitation facile à développer, tel que LinuxMint ou Mac, veuillez consulter ce qui suit et installer l'atmosphère car il s'agit d'une destruction instantanée. Je suis accro à Windows, je vais donc l'écrire pour les utilisateurs de Windows.

python install

J'ai besoin de Python, alors téléchargez-le. Le système 2 ou 3 convient, mais faites attention au 32 bits ou 64 bits.

Si vous téléchargez sur la première page, le 32 bits sera abandonné, donc si vous êtes 64 bits, veuillez le supprimer de Télécharger la liste ici.

Faites attention au dossier lors de l'installation! !!

Il s'agit du dossier au moment de l'installation, mais assurez-vous de l'enregistrer directement sous le lecteur C. Avec la valeur par défaut C: \ Program Files (x86), il y a un problème avec la résolution de chemin ou quelque chose et cela ne fonctionne pas correctement. .. ..

#Je l'ai installé ici
C:\python35-64

pip install watchdog

python est livré avec un logiciel de gestion de module appelé "pip", alors utilisez-le pour l'installer.

  1. Démarrez ~~ Invite de commandes ~~ ** MINGW32 **.
  2. python -m pip install --upgrade pip --force-reinstall
  3. pip install watchdog

La deuxième étape est une mise à niveau de pip afin que vous puissiez l'ignorer.

Comment utiliser


watchmedo shell-command -W --recursive --pattern '*.php;*.txt' --command 'echo test'Dossier de surveillance (répertoire actuel s'il n'est pas spécifié)

--shell-command: spécifié lors de l'exécution d'une commande shell. Il y a aussi un journal. --W: W en majuscules. Ignorer les événements qui se produisent pendant l'exécution de la commande (paramètre Ignorer les événements simultanés) --recursive: aller récursivement dans le dossier spécifié --pattern: définit le fichier à surveiller (dans ce qui précède, les extensions sont php et txt) --command: La commande à exécuter. ~~ Dans l'exemple ci-dessus, l'écho est limité aux événements de mise à jour. (Quand j'ai utilisé vim sur windows, 3 événements ont volé en même temps que l'enregistrement ... 2 Netbeans ont également volé ...) ~~

Lors de l'exécution de PHPUnit

cd dossier surveillé
watchmedo shell-command -W --recursive --pattern '*.php' --command 'Chemin complet du projet/vendor/bin/chemin complet de phpunit/tests/'

Après avoir déplacé vers le dossier du projet, vous pouvez omettre de spécifier le dossier à surveiller et il sera coloré avec phpunit. (Au contraire, pourquoi n'est-il pas coloré lorsque le dossier surveillé est spécifié?)

Postscript


L'installation est un peu gênante, mais profitez d'une vie de codage confortable.

Recommended Posts