В моем Rails 3 controllers / application.rb (для которого я пытаюсь написать спецификацию) есть следующее:
rescue_from CanCan::AccessDenied do |exception|
flash[:alert] = t(:access_denied)
if (current_user) then
redirect_to root_url
else
session[:direct_redirect] = request.url
redirect_to new_user_session_url
end
end
Я хотел бы написать некоторые спецификации для обеспечения функциональностиработает.Я поместил тесты в spec / controller / application_controller_spec.rb и решил, что я должен написать что-то вроде:
it "should redirect to the root url" do
controller.stub(:authorize!) { raise CanCan::AccessDenied }
get :index
response.should redirect_to(root_url)
end
Проблема в том, что get: index line.Спецификация выдает ошибку «нет маршрута соответствует controller => application». «Достаточно справедливо», я понял, и попытался маршрутизировать на другой контроллер. Попытки были:как действие под контроллером «application».
Итак, как мне маршрутизировать контроллер в rspec, кроме того, в котором написана спецификация?