Подтвердить что ты не робот

Guard:: Ошибка RSpec: не указан параметр cmd, не удалось запустить спецификации

После обновления для защиты 2.6.1 защита перестала выполнять спецификации для измененного файла

13:27:09 - INFO - LiveReload is waiting for a browser to connect. 
13:27:09 - INFO - Guard::RSpec is running 
13:27:09 - INFO - Guard is now watching at '[path to project]'
13:27:13 - INFO - Running: spec/models/[some_model]_spec.rb
13:27:13 - ERROR - No cmd option specified, unable to run specs!

Мой пакет

Using guard (2.6.1)
Using guard-livereload (2.3.0)
Using guard-rails (0.5.3)
Using guard-rspec (4.3.1)

Using rspec-core (2.14.8)
Using rspec-expectations (2.14.5)
Using rspec-mocks (2.14.6)
Using rspec (2.14.1)
Using rspec-rails (2.14.2)
Using rails (4.0.4)
4b9b3361

Ответ 1

Вам необходимо обновить Guardfile и добавить параметр cmd.

Guard:: RSpec 4.0 теперь использует более простой подход с новой опцией cmdкоторые позволяют точно определить, какая команда rspec будет запущена на каждый бег. Эта опция требуется из-за количества различных способов можно вызвать rspec, теперь шаблон включает в себя значение по умолчанию, которое должен работать для большинства приложений, но может быть не оптимальным для всех.

Вот как выглядит мой Guardfile:

guard :rspec, cmd: "bundle exec rspec" do
  # ...
end

Ответ 2

Альтернативный ответ в случае использования Zeus для ускорения выполнения теста

guard 'rspec', cmd: "zeus test" do
  #
end

Перед использованием Охрана

убедитесь, что вы запустили Zeus
> zeus start