我正在尝试编写一个 RSpec 测试来测试传递给请求的错误内容类型,因为在控制器端我只支持 JSON。
所以目前我的 RSpec 是这样写的:
it 'returns a 406 if the request is not for json' do
request.accept = 'text/html'
get :show
expect(response.code).to eq('406')
end
我的控制器中的 show 方法是这样的:
respond_to :json
def show
org_id = Organization.find_by_id(params[:id])
@organization = Organization.includes([:BunchOfTablesBlah).find(params[:id])
respond_with(@organization)
end
但是该测试失败并出现以下错误:
1) PopulationManagementController 显示组织返回 406 如果请求不是针对 json 失败/错误:get :show ActionController::RoutingError: No route matches {:controller=>"population_management", :action=>"show"} # 。 /spec/controllers/population_management_controller_spec.rb:184:in `block (3 levels) in '