RSpec: тестирование rescue_from - PullRequest
       3

RSpec: тестирование rescue_from

15 голосов
/ 17 декабря 2010

Как я могу проверить rescue_ от RSpec?Я хотел бы убедиться, что если возникает одно из исключений, контроллер правильно устанавливает вспышку и выполняет перенаправление.Есть ли способ симулировать исключение?

  rescue_from PageAccessDenied do
    flash[:alert] = "You do not have the necessary roles to access this page"
    redirect_to root_url
  end

  rescue_from CanCan::AccessDenied do |exception|
    flash[:alert] = exception.message
    redirect_to root_url
  end

1 Ответ

14 голосов
/ 17 декабря 2010

Предполагая, что у вас есть метод authorize!, который вызывает исключение, вы должны иметь возможность сделать что-то вроде этого:

  describe "rescue_from exceptions" do
    it "rescues from PageAccessDenied" do
      controller.stub(:authorize!) { raise PageAccessDenied }
      get :index
      response.should redirect_to("/")
      flash[:alert].should == "You do not have the necessary roles to access this page"
    end
  end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...