Есть ли способ принудительно запустить все спецификации с помощью guard + guard-rspec? - PullRequest
4 голосов
/ 30 июля 2011

Есть ли что-то похожее на ctrl + c автотеста для принудительного запуска всех спецификаций? Я все еще работаю над тонкой настройкой своего .Guardfile, но пока могу ли я принудительно запустить все спецификации без перезапуска охраны? Ctrl + C выходит из охраны.

Ответы [ 3 ]

26 голосов
/ 18 ноября 2011

Сигналы posix, которые предлагает Марк, больше не используются для взаимодействия с охраной. См. Раздел «Взаимодействия» в README , чтобы узнать о новом способе взаимодействия.

Чтобы активировать метод run_all каждого охранника, просто нажмите Enter в терминале охраны. Чтобы вызвать метод rspec run_all, введите rspec и нажмите ввод.

17 голосов
/ 11 июня 2012

https://github.com/guard/guard#interactions

Вы можете взаимодействовать с Стражем и вводить команды, когда Стражу нечего делать. Страж понимает следующие команды:

↩: Run all Guards.
h, help: Show a help of the available interactor commands.
r, reload: Reload all Guards.
n, notification: Toggle system notifications on and off.
p, pause: Toggles the file modification listener. The prompt will change to p> when paused. This is useful when switching Git branches, rebase Git or change whitespace.
e, exit: Stop all Guards and quit Guard.

Итак, вы заходите в терминал, где работает Guard, и нажимаете Enter / Return.

4 голосов
/ 08 декабря 2011

Вероятно, самое простое, что нужно сделать, это использовать Spork , а затем упростить ваш Guardfile:

# Guardfile
guard 'rspec', :version => 2, :cli => '--drb' do # :cli => is important!
  watch(%r{^spec/}) { "spec" }
  watch(%r{^app/}) { "spec" }
  watch('config/routes.rb') { "spec" }
end

Это будет запускать что угодно в папке spec, когда что-либо в spec, app или routes.rb изменится, как только вы сохраните его, и сэкономит вам массу времени.

Используйте гемы growl (mac) или libnotify (linux) дляполучать всплывающие уведомления.Затем вы просто пишете код в своем редакторе, и вскоре после каждого сохранения вы получаете всплывающее уведомление о прохождении / сбое.Если это проход, вы просто продолжаете кодировать - если это сбой, вы открываете терминал и проверяете, в чем заключается ошибка.

...