我正在rspec-rails (3.7.1)
使用rails (5.1.4)
所有测试都成功运行,但在将命名空间添加到routes.rb
文件后,我收到此错误:
An error occurred while loading ./spec/controllers/stores_controller_spec.rb.
Failure/Error:
RSpec.describe StoresController, type: :controller do
NameError:
uninitialized constant StoresController
这是我的routes.rb
文件:
namespace 'api' do
namespace 'v1' do
resources :stores
end
end
我的stores_controller_spec.rb
是
require 'rails_helper'
RSpec.describe StoresController, type: :controller do
let(:store) { FactoryBot.create(:store) }
describe "GET index" do
it 'has a 200 status code' do
request.headers.merge!(auth_headers)
get :index
expect(response.status).to eq(200)
end
end
end
答案 0 :(得分:2)
当你有一个像
这样的控制器路由名称空间时api/v1/stores
然后Rails希望控制器命名为
Api::V1::StoresController
并位于名为
的文件中app/controllers/api/v1/stores_controller.rb