rspec-rails (2.7.0) rails (3.0.10) mensaje: Rails 3.1 Error Catching es irrelevante para mí.Por qué consider_all_requests_local falla con la configuración rspec
Código:
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
Este código funciona perfectamente con la producción/desarrollo ... problema es cuando quiero probarlo con rspec. ¿Cómo cambiar el caso de prueba entre entornos?
He intentado añadir algo como:
before do
Rails.application.config.consider_all_requests_local = true
end
me sale:
... ===== ====== Desde la parte inferior verdadera ===== De. ====== inferior cierto. ===== ====== De inferior cierto. ===== ====== Desde la parte inferior verdadera
por lo intentaron
before do
Rails.application.config.consider_all_requests_local = false
end
por lo que se obtiene:
... ===== ====== De abajo falsa ===== ====== De abajo falsa ===.. == De inferior ====== falsa. ===== ====== De abajo falsa
¿Cómo es eso posible? ... lo mismo con el cambio de spec_helper
config.before(:each) do
Rails.application.config.consider_all_requests_local = false
end
unless is not working. Top sección es inalcanzable con rspec ... siempre coincide con Parte inferior ¿por qué? Supongo que de alguna manera está relacionado con Rack ... pero ¿hay alguna solución para cambiar dinámicamente este comportamiento dentro de rspec?
respecto
No estoy seguro si mi situación es la misma, pero tuve que agregar: 'Rails.application.config.action_dispatch.show_exceptions = true' al bloque anterior. y '... = falso' al después. –
Solución increíble, exactamente lo que estaba buscando. ¡Gracias! –
Me está fallando cuando estoy ejecutando el paquete completo usando 'rake spec'. Pasa solo cuando ejecuto la especificación 'feature' específica. –