rspec-rails (2.7.0) rails (3.0.10) post: Rails 3.1 Error Catching is irrelevant for me.
Code:
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
This code perfectly works with production/development... problem is when I wanna test it with rspec. How to switch test case between environments?
I tried adding something like:
before do
Rails.application.config.consider_all_requests_local = true
end
I get:
...=====From bottom======true .=====From bottom======true .=====From bottom======true .=====From bottom======true
so tried
before do
Rails.application.config.consider_all_requests_local = false
end
so I get:
...=====From bottom======false .=====From bottom======false .=====From bottom======false .=====From bottom======false
How is that even possible? ... same with changing spec_helper
config.before(:each) do
Rails.application.config.consider_all_requests_local = false
end
unless is not working. Top section is unreachable with rspec... always hits Bottom why ? I assume it is somehow tied now with Rack... but is there any solution to dynamically change this behavior inside rspec?
regards