rspec-rails (2.7.0) rails (3.0.10) post: Rails 3.1 Отлов ошибок для меня не имеет значения.
Код:
class ApplicationController < ActionController::Base
unless Rails.application.config.consider_all_requests_local
rescue_from ActiveRecord::RecordNotFound, :with => :render_404
rescue_from Exception, :with => :render_500
rescue_from FunnyException, :with => :my_errors
def my_errors(exception)
#some stuff for production
puts "=======From top====#{Rails.application.config.consider_all_requests_local}"
end
else
rescue_from FunnyException, :with => :my_errors
def my_errors(exception)
#some stuff for development
puts "=====From bottom======#{Rails.application.config.consider_all_requests_local}"
end
end
end
Этот код отлично работает с производством / разработкой ... проблема в том, что я хочу протестировать его с помощью rspec. Как переключать тестовый пример между средами?
Я пробовал добавить что-то вроде:
before do
Rails.application.config.consider_all_requests_local = true
end
Получаю:
... ===== Снизу ====== true. ===== От внизу ====== правда. ===== От снизу ====== true. ===== снизу ====== true
поэтому попробовал
before do
Rails.application.config.consider_all_requests_local = false
end
, поэтому я получил:
... ===== снизу == ==== ложь. ===== снизу ====== ложь. ===== От снизу ====== ложь. ===== снизу ====== ложь
Как такое вообще возможно? ... то же самое с изменением spec_helper
config.before(:each) do
Rails.application.config.consider_all_requests_local = false
end
, если он не работает. Верхний раздел недоступен с помощью rspec ... всегда попадает в Нижний почему? Я предполагаю, что теперь он каким-то образом связан с Rack ... но есть ли какое-нибудь решение для динамического изменения этого поведения внутри rspec?
касается