controller_specでCanCan::AccessDeniedが発生しない件について

rails4.0
cancan (1.6.10)
sorcery (0.8.1)

ブラウザでは例外が発生するのに、

class Admin::BaseController < ApplicationController 
  rescue_from CanCan::AccessDenied do |exception|
    # controller_specでなぜかとおらない                                                                                                                          
      render text: "権限がありません", layout: "admin/application", status: :forbidden
  end 
end

ということがおこってた。

http://stackoverflow.com/questions/4466399/rspec-testing-rescue-fromによると、スタブ設定するといいみたい。
cancan特有ではなさそうな感じ。

describe Admin::UsersController do
  let!(:admin){ FactoryGirl.create(:admin) }
  before { login_user(admin) }
  describe "GET 'edit'" do
    before { get :edit, { id: @user } } 
    it { response.should be_success }
    context "ログインユーザが一般ユーザロールの時" do
      before do
        controller.stub(:authorize!) { raise CanCan::AccessDenied }                                                                                         
        login_user(FactoryGirl.create(:user))

        get :edit, { id: @user }
      end 
      it { response.should be_forbidden }
    end 
  end 
end

そういえば、shouldはexpectに書き直すべきなのだろうか。