2010-12-10 12 views
6

So hatte ich eine Menge Probleme in letzter Zeit bekommen Autotest in meiner Rails3 App arbeiten. Anstatt weiter damit zu experimentieren, in der Hoffnung, es jemals zur Arbeit zu bringen, habe ich nach Alternativen gesucht. Gerade jetzt scheint Watchr eine gute Alternative zu sein. Aber ich wollte fragen, gibt es irgendwelche besonderen Vorteile gegenüber der Verwendung eines anderen? Das offensichtlichste, was ich sagen kann, ist, dass Watchr ein bisschen mehr zum Setup braucht. Danach scheint es "einfach zu funktionieren". Der Kompromiss scheint mir das wert, aber was sind andere Vorteile?watchr vs autotest für schienen apps

Ich bin auch nicht so vertraut mit dem was spork ist oder wie es funktioniert, aber kann mit spork verwendet werden und lasst mich den Vorteil von Tests in Schienen die viel schneller laufen?

Antwort

10

Ich hatte vor kurzem ein Problem mit Autotest, weil es böse ist, wenn Sie nicht die Dateistruktur verwenden, die es erwartet. Deshalb habe ich einen Versuch gemacht und bin sehr zufrieden.

Wenn Sie Ihre Tests nur nach der Änderung automatisch ausführen möchten, sind beide Tools gleich. Autotest wird in einem Rails-Projekt sofort ausgeführt, watchr benötigt zur Ausführung eine Konfigurationsdatei. Es gibt also einen kleinen Overhead für Wächter. Es gibt jedoch einige Projekte, die bereits konfiguriert haben, wie sich Autotest zu verhalten.

Sobald Sie jedes Mal, wenn eine bestimmte Datei geändert wird, einen benutzerdefinierten Befehl verwenden möchten, zeigt Watchr seine Stärke an. Beispielsweise wird jedes Mal ausgeführt, wenn sich das Schema.rb ändert oder wenn jedes Mal, wenn wichtige Dateien geändert werden, aktualisierte Dokumente erstellt werden.

Ein solches Verhalten ist in Watch über seine einfache Konfigurationssyntax möglich: watch('regular expression') {|match_data| your_command match_data[0]}. Um alle Angaben in der Farbe führen Sie watchr config_file.rb nennen, während config_file.rb

watch ('spec/.*_spec\.rb') {|md| system "rspec -c spec/"} 

enthält Seit Watchr mit nestor scheint zu funktionieren (die ähnlich wie spork), sollte es möglich sein Spork zu integrieren als auch.

Zusammenfassend: watchr ist viel flexibler als autotest, aber braucht etwas Konfiguration, um damit zu beginnen. Wächter sollte gut mit Spork arbeiten können.