[rspec-users] Rails Rendering diagnostics.rhtml in Controller Spec

Ryan Bates bates.ryan at gmail.com
Wed May 23 18:03:00 EDT 2007

> Try overriding rescue_action as is done in rails controller tests:
> # Re-raise errors caught by the controller.
> class MyController; def rescue_action(e) raise e end; end

Thanks, that makes perfect sense. Strangely it's not working when I
place it at the top of a controller spec:

require File.dirname(__FILE__) + '/../spec_helper'
class ArticlesController; def rescue_action(e) raise e end; end

describe ArticlesController do

I get this error:

  You have to declare the controller name in controller specs. For example:
    describe "The ExampleController" do
      controller_name "example" #invokes the ExampleController

Placing it at the end of the spec file seems to work though.

> If you want to do this for every controller, assuming you're on 1.0,
> you can do this in spec/spec_helper.rb
> Spec::Runner.configure do |config|
>   config.before(:each) do
>     controller.class.class_eval do
>       define_method :rescue_action do |e|
>         raise e
>       end
>     end
>   end
> end

This doesn't have any effect for me. It still renders the
diagnostics.rhtml template with that in the spec_helper. I'm running


More information about the rspec-users mailing list