Почему Guard запускает spork и для rspec, и для огурца, хотя я хотел запустить его только для rspec с использованием групп?

В моем Gemfile...

group :development, :test do
  gem 'capybara', "1.1.2"
  gem 'database_cleaner', "0.7.0"

  gem 'cucumber', "1.1.2"
  gem 'cucumber-rails', "1.2.0"

  gem 'rspec-rails', "2.7.0"

  gem 'spork', "0.9.0.rc9"

  gem 'launchy' #launches the page

  gem 'guard-spork', "0.3.1"
  gem 'guard-rspec', "0.5.4"
  gem 'guard-cucumber', "0.7.4"

  gem 'factory_girl_rails'
end

В моем Guardfile есть две группы (:характеристики и :особенности ).

group :specs do

  guard :spork, :rspec_env => { 'RAILS_ENV' => 'test' } do
    watch('config/application.rb')
    watch('config/environment.rb')
    watch(%r{^config/environments/.+\.rb$})
    watch(%r{^config/initializers/.+\.rb$})
    watch('spec/spec_helper.rb')
  end

  guard :rspec, :version => 2 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{^spec/.+_spec\.rb$})
    watch(%r{^app/(.+)\.rb$})                           { |m| "spec/#{m[1]}_spec.rb" }
    watch(%r{^lib/(.+)\.rb$})                           { |m| "spec/lib/#{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('spec/spec_helper.rb')                        { "spec" }
    watch('config/routes.rb')                           { "spec/routing" }
    watch('app/controllers/application_controller.rb')  { "spec/controllers" }
    # Capybara request specs
    watch(%r{^app/views/(.+)/.*\.(erb|haml)$})          { |m| "spec/requests/#{m[1]}_spec.rb" }
  end

end

group :features do

  guard 'spork', :cucumber_env => { 'RAILS_ENV' => 'test' } do
    watch('config/application.rb')
    watch('config/environment.rb')
    watch(%r{^config/environments/.+\.rb$})
    watch(%r{^config/initializers/.+\.rb$})
    watch('spec/spec_helper.rb')
  end

  guard 'cucumber' do
    watch(%r{^features/.+\.feature$})
    watch(%r{^features/support/.+$})          { 'features' }
    watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' }
  end

end

Когда я пытаюсь запустить группу спецификаций :, я ожидаю, что Guard запустит Spork только для Rspec.

guard -g specs start

Однако из вывода я вижу, что Guard запускает Spork как для Rspec, так и для Cucumber.

~/current[master]% guard -g specs start
WARNING: You are using Guard outside of Bundler, this is dangerous and may not work. Using `bundle exec guard` is safer.
Guard could not detect any of the supported notification libraries.
Guard is now watching at '/Users/rupert/Desktop/cws-rails'
Starting Spork for RSpec & Cucumber 
Using RSpec
Using Cucumber
Preloading Rails environment
Preloading Rails environment
Loading Spork.prefork block...
Loading Spork.prefork block...
Spork is ready and listening on 8990!
Spork is ready and listening on 8989!
Spork server for RSpec & Cucumber successfully started
Guard::RSpec is running, with RSpec 2!
Running all specs

Есть ли файл конфигурации для SPORK или защиты, который я мог пропустить?

ОБНОВЛЕНИЕ:

  1. Удалить защиту -огурец

  2. Удалить или переименовать папку функций

6
задан Rupert 11 May 2012 в 04:29
поделиться