2013-05-05 2 views
12

Я пытаюсь проверить, как не зарегистрированный пользователь ведет себя как этотRSpec тестирование авторизации с raise_error не работает

describe "not logged in user" do 
    user_no_rights 

    it "can't access action index" do 
     expect(get :index).to raise_error(CanCan::AccessDenied) 
    end 
    end 

вывод, когда я запустить RSpec

Failure/Error: expect(get :index).to raise_error("CanCan::AccessDenied:You are not authorized to access this page.") 
    CanCan::AccessDenied: 
     You are not authorized to access this page. 

Так выглядит исправлено правильное исполнение, но почему спецификация не проходит?

+12

В случае поднятия ошибки 'ожидать', возможно, потребуется передать блок:' ожидать {get: index} .to raise_error (CanCan :: AccessDenied) '. –

+0

спасибо @ThomasKlemm! – Zippie

ответ

18

Я изменил свою спецификацию на:

describe "not logged in user" do 
    user_no_rights 

    it "can't access action index" do 
     expect{get :index}.to raise_error(CanCan::AccessDenied) 
    end 
end 

и она работает. Престижность Томасу! :-)

Смежные вопросы