Im Grunde genommen, Growl-Benachrichtigungen (oder andere Rückrufe), wenn Tests abbrechen oder bestehen. Gibt es so etwas?
Wenn nicht, sollte es ziemlich einfach zu schreiben sein.. Am einfachsten wäre es, wenn
- laufen.
python-autotest myfile1.py myfile2.py etc.py
- Überprüfen Sie, ob die zu überwachenden Dateien geändert wurden (möglicherweise nur, wenn sie gespeichert wurden).
- Führen Sie alle Tests in diesen Dateien aus.
- Wenn ein Test fehlschlägt, aber beim letzten Durchlauf bestanden wurde, wird ein "Growl Alert" erzeugt. Dasselbe gilt für Tests, die erst fehlschlagen und dann bestehen.
- Warten Sie, und wiederholen Sie die Schritte 2-5.
Das Problem, das ich dabei sehe, ist, dass die Tests in einer anderen Datei stehen. Die einfache Lösung wäre, alle Tests nach jedem Speichern auszuführen aber bei langsameren Tests könnte dies länger dauern als die Zeit zwischen den Speichern und/oder viel CPU-Leistung verbrauchen etc.
Der beste Weg, es zu tun wäre, tatsächlich zu sehen, welche Bits des Codes geändert haben, wenn Funktion abc() geändert hat, nur Tests ausführen, die mit diesem interagieren. Das wäre zwar toll, aber ich denke, es wäre extrem komplex zu implementieren?
Zusammengefasst:
- Gibt es so etwas wie das Ruby-Tool
autotest
(Teil des ZenTest-Paket ), aber für Python-Code? - Wie kann man überprüfen, welche Funktionen sich zwischen zwei Revisionen eines Skripts geändert haben?
- Ist es möglich zu bestimmen, welche Funktionen ein Befehl aufrufen wird? (So etwas wie ein Reverse Traceback)
0 Stimmen
Ich glaube nicht, dass es möglich ist, richtig zu testen, wenn Sie nur Tests ausführen, die sich direkt auf die geänderte Funktion beziehen. Sie testen dann nicht, wie die Funktion mit dem Rest des Codes interagiert. Sie könnte beispielsweise den Test bestehen, aber in der Praxis versagen, weil sich ihr Verhalten auf subtile Weise geändert hat