Защо охраната спира?

Имам rails приложение, което току-що хвърлих guard и minitest и моят gaurd файл е

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

но когато стартирам охрана, получавам команден ред

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

Защо получавам тази подкана. Някакви идеи... ето някои от скъпоценните камъни, които използвам

АКТУАЛИЗАЦИЯ...

когато стартирам all minitest, тогава тестовете се изпълняват...но защо трябва да изпълнявам това...някакви идеи


person Matt Elhotiby    schedule 01.11.2012    source източник


Отговори (1)


Това, което виждате, е интеракторът Guard, който използва Pry. Обикновено подканата изглежда малко по-различно, така че предполагам, че имате ~/.pryrc файл с известна конфигурация. С Guard 1.5.3, пуснат вчера, Guard игнорира ~/.pryrc и оценява само ~/.guardrc за конфигурацията на Pry, така че нормалната конфигурация на Pry е отделена от интерактора на Guard Pry.

Когато виждате тази подкана, това означава, че Guard чака и няма какво да прави. Вече можете да започнете да работите и Guard автоматично започва да тества приложението ви с minitest според вашите файлови модификации и конфигурация на наблюдателя, или можете ръчно да задействате действие.

Можете да получите списък с наличните действия с help guard. Някои команди се генерират в зависимост от вашите Guard добавки и групи във вашия Guardfile. Ето пример за един от моите проекти:

$ 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...
person Netzpirat    schedule 01.11.2012
comment
Ако искате конкретният екземпляр на Pry, използван от guard, да има свой собствен подкана (независим от посочения в .pryrc), тогава предайте опцията :prompt, когато стартирате pry github.com/pry/pry/wiki/ (игнорирайте опцията prompt_name, която няма да бъде налична до следващото издание) - person horseyguy; 01.11.2012
comment
@Netxpirat - има ли начин да спра това и просто да имам охрана, когато правя промени, както преди - person Matt Elhotiby; 01.11.2012
comment
@Trace Да, можете да подадете опцията -i, за да защитите и деактивирате интерактора: bundle exec guard -i - person Netzpirat; 01.11.2012
comment
@banister Използвам Pry.config.prompt, за да го задам динамично в зависимост от състоянието на слушателя: github.com/guard/guard/blob/master/lib/guard/ - person Netzpirat; 01.11.2012