告诉rspec(核心)测试是测试控制器

时间:2017-09-08 13:02:32

标签: ruby-on-rails ruby rspec

尝试运行此测试,但不断收到以下错误:

Failure/Error: get :index

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

注意:我没有使用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

1 个答案:

答案 0 :(得分:1)

  

注意:我没有使用rspec-rails。

那就是你的问题。所有rails类型规范(控制器,请求,功能,视图)都是rspec-rails而不是rspec-core的一部分。

如果没有rspec-rails,type元数据绝对没有 - 它只是一个描述类的简单示例组。

解决方案是将rspec-rails添加到gemfile中。

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

并运行rails g rspec install

相关问题