2009-04-08 14 views
2

Ich habe ein Problem mit Autotest mit einem Rails-Projekt, dass, wenn ein Test fehlschlägt (dh, ich modifizierte eine Testdatei und Autotest führt automatisch den Test), autotest versucht, den Test (fehlgeschlagen jedes Mal natürlich, da die Datei noch nicht geändert wurde), anstatt zu warten, bis die Datei erneut gespeichert wird. Und mit der Aktivierung der Growl-Benachrichtigung kann das extrem ärgerlich sein, während ich versuche, den Code zu reparieren, damit der Test bestanden wird. Es passiert nicht die ganze Zeit, aber die meiste Zeit. Ist sonst noch jemand dazu gekommen und kennt die Lösung? Vielen Dank.Autotest unendlich Schleife

+0

Sind Sie sicher, dass nichts die Dateien speichert? Meine IDE ist so eingestellt, dass sie automatisch Dateien speichert, wenn sie den Desktop-Fokus verliert, was wiederum den Autotest veranlasst, Tests erneut auszuführen. – dbrown0708

+0

Ich benutze Textmate und ich glaube nicht, dass es irgendwelche Dateien im Hintergrund speichert. Aber meine App verwendet Ferret und daher werden beim Speichern der Tests wahrscheinlich Indexdateien gespeichert. Aber warum sollte Autotest diese erkennen? –

+0

Auch meine IDE-Speicherdateien würden nicht erklären, warum der Autotest nur dann endlos läuft, wenn ein Test fehlschlägt und nicht, wenn er erfolgreich ist. –

Antwort

5

Ich fand die Lösung. Wahrscheinlich hat das mit OSX zu tun (das läuft auf Leopard), indem es die .DS_Store Datei im Ordner oder einer anderen temporären Datei ändert. Das Hinzufügen des folgenden zu meinem .autotest tat den Trick (dies verhindert auch, dass der Autotest den von Ferret erzeugten Indexordner betrachtet).

Autotest.add_hook :initialize do |at| 
    %w{.git vendor index .DS_Store ._}.each {|exception| at.add_exception(exception)} 
end 
+0

Auch wenn Sie Aruba mit Gurke für die Entwicklung von Befehlszeilen-Apps verwenden, sollte ihnen auch das von Aruba erstellte "tmp" -Verzeichnis hinzugefügt werden. –

Verwandte Themen