Почему охрана останавливается?

У меня есть приложение 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 автоматически начнет тестирование вашего приложения с помощью минитеста в соответствии с вашими изменениями файла и конфигурацией наблюдателя, или вы можете вручную инициировать действие.

Вы можете получить список доступных действий с помощью 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