[PYTHON] Verwenden Sie Watchdog (Watchmedo) in der testgetriebenen Entwicklung

Für eine testgetriebene Entwicklung ist es meiner Meinung nach ein Muss, Tests beim Speichern automatisch auszuführen. Denken Sie auch nicht, dass es besser ist, wenn Sie ein kleines Skript schreiben, wenn es beim Speichern automatisch ausgeführt wird?

Zu dieser Zeit Wachhund (watchmedo)! !! (Obwohl verschiedene Betriebssysteme über API-Befehle zur Überwachung verfügen, wird dies für diejenigen empfohlen, die dasselbe Verfahren für mehrere Betriebssysteme ausführen möchten.)

Ergänzung </ b> </ font>: 07.11.2016 Der veröffentlichte Befehl wurde im MINGW32-Terminal getestet, das mit Git für Windows geliefert wird. Er funktioniert jedoch an der Eingabeaufforderung. Ich wurde informiert, dass es so etwas nicht gibt. Wahrscheinlich, weil die Shell nicht funktioniert. (Ich habe es nicht überprüft. Es tut mir leid.)

Ergänzung </ b> </ font>: 14.12.2016 Aus irgendeinem Grund lief nur mein Heim-PC zweimal, daher überprüfte ich die Optionsbefehle. Mit --wait funktionierte es nicht und die Option -W diente der Verhinderung der doppelten Ausführung. Es scheint auch nicht notwendig zu sein, "[" $ {watch_event_type} "==" modifiziert "] && echo hoge" zu beschreiben, was auf Aktualisierungsereignisse beschränkt ist. Deshalb habe ich es aus dem Artikel gelöscht.

install

Wenn Sie ein einfach zu entwickelndes Betriebssystem wie LinuxMint oder Mac verwenden, ist dies ein sofortiger Kill. Sehen Sie also unten nach und installieren Sie die Atmosphäre. Ich bin süchtig nach Windows, also schreibe ich es für Windows-Benutzer.

python install

Ich brauche Python, also lade es herunter. Entweder 2 oder 3 System ist in Ordnung, aber seien Sie vorsichtig mit 32bit oder 64bit.

Wenn Sie auf der obersten Seite herunterladen, werden 32-Bit-Dateien gelöscht. Wenn Sie also 64-Bit-Dateien herunterladen, löschen Sie diese bitte unter Download-Liste hier.

Achten Sie bei der Installation auf den Ordner! !!

Dies ist der Ordner zum Zeitpunkt der Installation. Speichern Sie ihn jedoch direkt unter dem Laufwerk C. Mit der Standardeinstellung "C: \ Programme (x86)" gibt es ein Problem mit der Pfadauflösung oder etwas anderem und es funktioniert nicht richtig. .. ..

#Ich habe es hier installiert
C:\python35-64

pip install watchdog

Python wird mit einer Modulverwaltungssoftware namens "pip" geliefert. Verwenden Sie diese also, um sie zu installieren.

  1. Starten Sie ~~ Eingabeaufforderung ~~ ** MINGW32 **.
  2. python -m pip install --upgrade pip --force-reinstall
  3. pip install watchdog

Der zweite Schritt ist ein Pip-Upgrade, damit Sie es überspringen können.

Wie benutzt man


watchmedo shell-command -W --recursive --pattern '*.php;*.txt' --command 'echo test'Monitorordner (aktuelles Verzeichnis, falls nicht angegeben)

--shell-Befehl: Wird beim Ausführen eines Shell-Befehls angegeben. Es gibt auch Protokoll. --W: W in Großbuchstaben. Ignorieren Sie Ereignisse, die auftreten, während der Befehl ausgeführt wird (Einstellung zum gleichzeitigen Ignorieren von Ereignissen).

--pattern: Legen Sie die zu überwachende Datei fest (oben sind die Erweiterungen PHP und TXT). --command: Der auszuführende Befehl. ~~ Im obigen Beispiel ist das Echo auf Aktualisierungsereignisse beschränkt. (Als ich vim unter Windows verwendet habe, flogen 3 Ereignisse gleichzeitig mit dem Speichern ... 2 Netbeans flogen auch ...) ~~

Beim Ausführen von PHPUnit

cd Überwachter Ordner
watchmedo shell-command -W --recursive --pattern '*.php' --command 'Projekt voller Pfad/vendor/bin/phpunit voller Pfad/tests/'

Nach dem Verschieben in den Projektordner können Sie die Angabe des zu überwachenden Ordners weglassen und dieser wird mit phpunit eingefärbt. (Warum ist es im Gegenteil nicht farbig, wenn der überwachte Ordner angegeben wird?)

Nachtrag


Die Installation ist etwas mühsam, aber bitte genießen Sie ein komfortables Codierungsleben.

Recommended Posts