ruby-on-rails - Rspec 3. #<RSpec::ExampleGroups::ConfigsAPI::GETApiConfig:0x007f84d93fbb90> 的未定义局部变量或方法 `response'

标签 ruby-on-rails ruby rspec rspec3

我想使用 rspec 测试 API Controller 。 所以这是一段简单的代码:

require 'rails_helper'  
describe "GET /api/config" do

  it 'routes GET to /api/config to Api::V1::ConfigsController#show' do
    get '/api/config.json'
    expect(response).to be_success
  end

end

但是我遇到了一个错误:

1) Configs API GET /api/config routes GET to /api/config to Api::V1::ConfigsController#show
     Failure/Error: expect(response).to be_success
     NameError:
       undefined local variable or method `response' for #<RSpec::ExampleGroups::ConfigsAPI::GETApiConfig:0x007f84d93fbb90>
     # ./spec/routing/api/v1/devise/configs_routing_spec.rb:13:in `block (3 levels) in <top (required)>'

最佳答案

RSpec 3中你会这样做:

get '/api/config.json'
expect(response.status).to be(200)

您缺少的是描述 block 中的类型声明,即:

describe "GET /api/config", type: :controller do
end

关于ruby-on-rails - Rspec 3. #<RSpec::ExampleGroups::ConfigsAPI::GETApiConfig:0x007f84d93fbb90> 的未定义局部变量或方法 `response',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24776069/

相关文章:

ruby-on-rails - 在 Ruby on Rails 应用程序中登录 Facebook

ruby - 测试对象是否为字符串

ruby-on-rails - 如果 referrer domain = x,重定向到 Rails 中的页面

javascript - 在 application.js 中使用嵌入式 ruby

ruby - Cronjob 80% 的时间都不会运行

ruby - rspec 和 heckle 的兼容性如何?

ruby - 是否可以在 Rspec 中访问周围上下文的主题?

ruby-on-rails - 使用 validates_presence_of 和 validates_numericality_of 时验证失败

ruby-on-rails - Rails - 如何检查在线用户?

ruby - 为什么我会有很多关系?