Guard rspec не запускает спецификации

Когда спецификация или модель изменились, будьте осторожны с опциями spring rspec показывает следующий вывод:

04:54:44 - INFO - Running: spec/models/identity_spec.rb
Version: 1.1.2

Usage: spring COMMAND [ARGS]

Commands for spring itself:

  binstub         Generate spring based binstubs. Use --all to generate a binstub for all known commands.
  help            Print available commands.
  status          Show current status.
  stop            Stop all spring processes for this project.

Commands for your application:

  rails           Run a rails command. The following sub commands will use spring: console, runner, generate, destroy.
  rake            Runs the rake command


Frame number: 0/0

я использую ruby '2.1.0' а также 'rails', '4.1.0.rc1' с весны. Так что, похоже, ничего не работает. Я пробовал разные варианты cmd.

guard :rspec do
  watch(%r{^spec/.+_spec\.rb$})
  watch(%r{^lib/(.+)\.rb$})     { |m| "spec/lib/#{m[1]}_spec.rb" }
  watch('spec/spec_helper.rb')  { "spec" }

  # Rails example
  watch(%r{^app/(.+)\.rb$})                           { |m| "spec/#{m[1]}_spec.rb" }
  watch(%r{^app/controllers/(.+)_(controller)\.rb$})  { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
  watch(%r{^spec/support/(.+)\.rb$})                  { "spec" }
  watch('config/routes.rb')                           { "spec/routing" }
  watch('app/controllers/application_controller.rb')  { "spec/controllers" }
end

Это выдает ошибку:

05:04:08 - INFO - Running: spec/models/identity_spec.rb
05:04:08 - ERROR - Guard::RSpec failed to achieve its <run_on_modifications>, exception was:
> [#] NoMethodError: undefined method `parse_options' for #<RSpec::Core::ConfigurationOptions:0x007fad670937a8 @args=[]>
> [#] /Users/alder/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/guard-rspec-4.2.2/lib/guard/rspec/command.rb:33:in `_rspec_formatters'
> [#] /Users/alder/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/guard-rspec-4.2.2/lib/guard/rspec/command.rb:29:in `_visual_formatter'
> [#] /Users/alder/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/guard-rspec-4.2.2/lib/guard/rspec/command.rb:21:in `_parts'
> [#] /Users/alder/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/guard-rspec-4.2.2/lib/guard/rspec/command.rb:14:in `initialize'

Полный контент там с spec helper

Я пробовал все разные варианты вариантов rspec, spring rspec spec и другие возможны, в том числе и без, но имели такой же результат.

rspec spec без охраны работает нормально.

Я нашел похожую проблему, но она работает без весны.

2 ответа

Решение

Нашел проблему. В guard-rspec/guard-rspec.gemspec с версии 4.2.2, строка:

   s.add_dependency 'rspec', '>= 2.14', '< 4.0'

Конфликт с бета-версией, я думаю. Так что я изменил это на следующее:

   s.add_dependency 'rspec', '>= 2.14', '~> 3.0.0.beta2', '< 4.0'

И это работает!

И, кстати, вариант spring в cmd заставил тест ничего не делать. Итак, работает это:

   guard :rspec, cmd: 'rspec -f doc --color --require spec_helper ' do

И просто guard :rspec doи рассмотреть варианты от .rspec файл, в котором я не был уверен.

Попробуйте использовать

guard 'rspec', :cli => '--drb' do
  #your code
end

Как только я напишу эту быструю гильдию для справки, посмотрите, подходит ли она вам

Е.И.В.

Другие вопросы по тегам