2011-06-23 39 views
3

在沒有rspecs開始失敗的錯誤,如:rspec失敗不知所措

ruby​​ 1.8.7,rails 3.06。

~/.rvm/rubies/ree-1.8.7-2011.03/bin/ruby -S bundle exec rspec spec/controllers/gift_cards_controller_spec.rb:30 
No DRb server is running. Running in local process instead ... 
Run filtered including {:line_number=>30} 
F 

Failures: 

    1) GiftCardsController POST to :create for a logged-in User with valid attributes 
    Failure/Error: it { should respond_with(:redirect) } 
    NoMethodError: 
     undefined method `respond_with' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1::Nested_1::Nested_1:0x11af4324> 
    # ./spec/controllers/gift_cards_controller_spec.rb:30 

Finished in 0.93776 seconds 
1 example, 1 failure 

回答

9

是否#repond_with Shoulda匹配器?確保涉及的RSpec後您的Gemfile:

group :development, :test do 
    gem 'rspec-rails', '2.4.1' 
    gem 'shoulda-matchers', '1.0.0.beta1' 
end 
0

有了這個錯誤我以前的Rails應用程序後升級到rails 5.0。然後將以下配置添加到spec_helper.rb,現在其工作正常。

Shoulda::Matchers.configure do |config| 
    config.integrate do |with| 
    with.test_framework :rspec 
    with.library :rails 
    end 
end