When the request.remote_addr remains the default for testing, which is 0.0.0.0, the exception is simply raised inline (skipping the regular exception handling from rescue_action). If the request.remote_addr is anything else, the regular rescue_action process takes place. This means you can test your rescue_action code by setting remote_addr to something else than 0.0.0.0.
The exception is stored in the exception accessor for further inspection.
# File D:/Develope/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/actionpack-3.0.9/lib/action_controller/test_case.rb, line 479 def rescue_action_without_handler(e) self.exception = e if request.remote_addr == "0.0.0.0" raise(e) else super(e) end end
Generated with the Darkfish Rdoc Generator 2.