Skip to content
Create a gist now

Instantly share code, notes, and snippets.

rspec undefined method get
require 'spec_helper'
describe ArticlesController, :type => :controller do
describe "GET index" do
get :index
response.should be_successful
end
end
# Rails 3.0.5 & Ruby 1.9.2-p180 & rspec-rails 2.5.0
#
# bundle exec rspec spec/controllers/articles_controller_spec.rb
#
# /spec/controllers/articles_controller_spec.rb:5:in `block (2 levels) in <top (required)>': undefined method `get' for #<Class:0x00000105aab738> (NoMethodError)
# from /Users/DBA/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.5.1/lib/rspec/core/example_group.rb:132:in `module_eval'
# from /Users/DBA/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.5.1/lib/rspec/core/example_group.rb:132:in `subclass'
# from /Users/DBA/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.5.1/lib/rspec/core/example_group.rb:119:in `describe'
# from /controllers/articles_controller_spec.rb:4:in `block in <top (required)>'
# from /Users/DBA/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.5.1/lib/rspec/core/example_group.rb:132:in `module_eval'
# from /Users/DBA/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.5.1/lib/rspec/core/example_group.rb:132:in `subclass'
# from /Users/DBA/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.5.1/lib/rspec/core/example_group.rb:119:in `describe'
# from /Users/DBA/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.5.1/lib/rspec/core/extensions/object.rb:6:in `describe'
# from /spec/controllers/articles_controller_spec.rb:3:in `<top (required)>'
# from /Users/DBA/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:386:in `load'
# from /Users/DBA/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:386:in `block in load_spec_files'
# from /Users/DBA/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:386:in `map'
# from /Users/DBA/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:386:in `load_spec_files'
# from /Users/DBA/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.5.1/lib/rspec/core/command_line.rb:18:in `run'
# from /Users/DBA/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:55:in `run_in_process'
# from /Users/DBA/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:46:in `run'
# from /Users/DBA/.rvm/gems/ruby-1.9.2-p180/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:10:in `block in autorun'
@DBA
Owner
DBA commented Aug 26, 2011
@alexvbush

Man, such a small and simple thing and I managed to miss it too :D
Thanks!

@njakobsen

Me too.

@filippovG

the "..., :type => :controller do" was a solution for me!

@pboling
pboling commented Jun 4, 2014

I just had to add :type => :controller after upgrading from rspec-rails 3.0.0.rc1 to 3.0.1 in a Rails 4.1.1 app on Ruby 2.1.2 because get was undefined. Whaat? The file is spec/controllers/home_controller_spec.rb. Adding the explicit :type fixed it.

@microweb10

@pboling that's kink of annoying. There must be a way to not have to add :type => :controller

@matthewrossanderson

Gooood call on the it block

@wcpaez
wcpaez commented Nov 6, 2014

OMG, one more here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.