Dans nos rails 2.3 application, je l'ai mis en place un rescue_from pour les erreurs de routage comme suit:Comment tester rescue_from pour les échecs de routage?
rescue_from ActionController::RoutingError, :with => :redirect_or_render_error
rescue_from ActionController::UnknownController, :with => :redirect_or_render_error
rescue_from ActionController::UnknownAction, :with => :redirect_or_render_error
puis dans ma méthode redirect_or_render_error
rediriger certaines URL (tiré de la DB, je ne peux donc pas seulement utilisez routes.rb) et j'aimerais tester cela. Je le fais dans le test fonctionnel pour ma page d'index (est-ce le bon endroit?) Comme si:
@request.remote_addr = '12.34.56.78' # fake remote request
get '/example'
assert_redirected_to '/example_things/123456'
Je reçois
ActionController::RoutingError: No route matches {:action=>"/example", :controller=>"home"}
même si cela fonctionne dans le développement. Comment puis-je tester rescue_from pour les échecs de routage?
L'utilisation d'un test d'intégration résout le problème comme décrit ici. Cependant, j'ai laissé le paramètre 'config.action_controller.consider_all_requests_local' à' true' dans le fichier d'environnement de test. – berto