2012-11-01 15 views
7

Ich habe eine Rails-Anwendung, die ich gerade Wache warf und Minitest und meine gaurd Datei istWarum stoppt die Wache?

guard 'minitest', :cli => '--drb --format doc --color' do 
    # with Minitest::Unit 
    watch(%r|^test/(.*)\/?test_(.*)\.rb|) 
    watch(%r|^lib/(.*)([^/]+)\.rb|)  { |m| "test/#{m[1]}test_#{m[2]}.rb" } 
    watch(%r|^test/test_helper\.rb|) { "test" } 

    # Rails 
    watch(%r|^app/controllers/(.*)\.rb|) { |m| "test/functional/#{m[1]}_test.rb" } 
    watch(%r|^app/helpers/(.*)\.rb|)  { |m| "test/helpers/#{m[1]}_test.rb" } 
    watch(%r|^app/models/(.*)\.rb|)  { |m| "test/unit/#{m[1]}_test.rb" } 
end 

aber wenn ich Wache laufen bekomme ich eine Eingabeaufforderung

bundle exec guard 
22:14:12 - INFO - Guard uses TerminalTitle to send notifications. 
22:14:12 - INFO - Guard is now watching at '/Users/trace/Sites/application' 
1.9.3 (main):0 > 2 + 2 
=> 4 

Warum ich diese Aufforderung bekommen werde. Irgendwelche Ideen ... sind hier einige der Edelsteine ​​ich bin mit

UPDATE ...

wenn ich laufe all minitest dann die Tests laufen ... aber warum habe ich, dass laufen ... alle Ideen

Antwort

7

Was Sie sehen, ist die Guard Interactor, die Pry nutzt. Normalerweise sieht die Eingabeaufforderung etwas anders aus, also nehme ich an, Sie haben eine ~/.pryrc Datei mit einer Konfiguration. Mit Guard 1.5.3, das gestern veröffentlicht wurde, ignoriert Guard ~/.pryrc und wertet nur ~/.guardrc für die Pry-Konfiguration aus, sodass die normale Pry-Konfiguration vom Guard-Pry-Interaktor getrennt ist.

Wenn Sie diese Aufforderung sehen, bedeutet dies, dass Guard wartet und nichts zu tun hat. Sie können jetzt mit der Arbeit beginnen, und Guard startet automatisch das Testen Ihrer App mit Minitest gemäß Ihren Dateiänderungen und der Watcher-Konfiguration oder Sie können eine Aktion manuell auslösen.

Sie können eine Liste der verfügbaren Aktionen mit help guard erhalten. Einige Befehle werden abhängig von Ihren Guard-Plugins und -Gruppen innerhalb Ihrer Guardfile generiert. Hier ist ein Beispiel von einem meiner Projekte:

$ bundle exec guard 
09:58:14 - INFO - Guard uses GNTP to send notifications. 
09:58:14 - INFO - Guard is now watching at '/Users/michi/Repositories/extranett' 
09:58:15 - INFO - Guard::Jasmine starts Unicorn test server on port 8888 in development environment. 
09:58:17 - INFO - Waiting for Jasmine test runner at http://dnndev.me:8888/jasmine 
09:58:23 - INFO - Run all Jasmine suites 
09:58:23 - INFO - Run Jasmine suite at http://dnndev.me:8888/jasmine 
09:58:41 - INFO - Finished in 8.853 seconds 
09:58:41 - INFO - 896 specs, 0 failures 
09:58:41 - INFO - Done. 
09:58:41 - INFO - Guard::RSpec is running 
09:58:41 - INFO - LiveReload 1.6 is waiting for a browser to connect. 
[1] guard(main)> help guard 
Guard 
    all    Run all plugins. 
    backend   Run all backend 
    change    Trigger a file change. 
    coffeescript  Run all coffeescript 
    frontend   Run all frontend 
    jasmine   Run all jasmine 
    livereload   Run all livereload 
    notification  Toggles the notifications. 
    pause    Toggles the file listener. 
    reload    Reload all plugins. 
    rspec    Run all rspec 
    show    Show all Guard plugins. 
[2] guard(main)> exit 
09:59:39 - INFO - Guard::Jasmine stops server. 
09:59:39 - INFO - Bye bye... 
+0

Wenn Sie die spezifischen Pry Beispiel durch Schutz verwendet wollen ihre eigene prompt (unabhängig von einem in .pryrc angegeben) zu haben, dann übergeben Sie die ': prompt' Option, wenn hebeln Start https://github.com/pry/pry/wiki/Customization-and-configuration#wiki-Config_per_instance (ignoriere die Option 'prompt_name', die erst in der nächsten Version verfügbar sein wird) – horseyguy

+0

@Netxpirat - gibt es eine Möglichkeit zu stoppen dies und nur Wache Feuer, wenn ich Änderungen vorgenommen habe wie zuvor – Trace

+9

@Trace Ja, können Sie die Option "-i" zu schützen und deaktivieren Sie den Interactor: 'Bündel exec guard -i' – Netzpirat