14
Jak mogę przetestować rescue_from to RSpec? Chciałbym się upewnić, że jeśli podniesiony zostanie jeden z wyjątków, kontroler prawidłowo ustawi flash i wykona przekierowanie. Czy istnieje sposób symulacji wyjątku?RSpec: Testowanie rescue_from
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
Jeszcze lepsze rozwiązanie: https://www.relishapp.com/rspec/rspec-rails/docs/controller-specs/anonymous-controller – kaihowl
Nie rozumiem kodu pośredniczącego ... Wydaje mi się, że robisz kontroler podnoszący ten błąd w teście. Jak możesz być pewien, że zwiększy to błąd w produkcji, jeśli tylko udajesz go w testach? – hamstar
@hamstar Testuje to tylko zachowanie bloku 'rescue_from'. Aby upewnić się, że 'autoryzuj!' Powoduje błąd, należy napisać inny test na to. Przypuszczalnie dzieje się tak w bibliotece (CanCan?), A autor napisał tam test. – zetetic