我想測試一個終點,是不是在軌提供的restfuls之一,(i.e: #index, #new, #edit, #update, #create, #destroy
)如何讓rspec的控制器檢測到非RESTful端點
在我routes.rb
文件:
get 'hospitals/:id/doctors' => 'hospitals#our_doctors'
,並從裏面我hospitals_controller_spec.rb
文件:
describe "GET #our_doctors" do
before do
get :our_doctors
end
end
但我有以下錯誤:
ActionController::UrlGenerationError: No route matches {:action=>"our_doctors", :controller=>"hospitals"}
我該如何去讓我的規範遵循所需的路線?
我也試圖稱其爲:
get "/hospitals/#{@hospital.id}/doctors"
但得到以下錯誤:
ActionController::UrlGenerationError: No route matches {:action=>"/hospitals/1/doctors", :controller=>"hospitals"}
所有幫助表示讚賞,感謝。
哦,謝謝,'get'醫院/:id/doctors'=>'醫院#our_doctors',如::our_doctors'工作。你能解釋下面的另一個嗎? ('get:our_doctors,use_route :: our_doctors')謝謝。 –
沒有probs。是的,如果你的控制器規範不能自動找到你的請求(get:our_doctors),你可以給它一個提示use_route –