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
так пробовал
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
, если не работает.Секция Top недоступна с помощью rspec ... всегда нажимает Bottom почему?Я предполагаю, что это как-то связано с Rack ... но есть ли какое-либо решение для динамического изменения этого поведения внутри rspec?
regards