简体   繁体   中英

Tell rspec (core) that test is testing controller

Trying to run this test but keep getting the following error:

Failure/Error: get :index

 NoMethodError:
   undefined method `get' for #<RSpec::ExampleGroups::TestModuleTestController::Controller:0x007fa4bc120d00>

Note: I'm not using rspec-rails.

require "spec_helper"

module TestModule
  describe TestController, :type => :controller do
    describe "controller" do
      it "sets X-Frame-Options to ALLOWALL" do
        get :index
        expect(response.headers['X-Frame-Options']).to eq('ALLOWALL')
      end
    end
  end
end

Note: I'm not using rspec-rails.

That's your problem right there. All the rails type specs (controller, request, features, views) are part of rspec-rails not rspec-core.

Without rspec-rails the type metadata does absolutely nothing - its just a plain example group describing a class.

The solution is to add rspec-rails to your gemfile.

group :development, :test do
  gem 'rspec-rails', '~> 3.6'
end

And run rails g rspec install .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM