[rspec-users] spec'ing helpers that use controller

Rick Tessner rick.tessner at gmail.com
Tue Jul 24 18:10:44 EDT 2007


Hi all,

I'm in the process of creating rspecs for my helpers.  One of the
helpers in app/helpers/application_helper.rb looks like this:

        def page_name
          @page_name || "Define @page_name in
        #{controller.controller_name}::#{controller.action_name}"
        end

The rspec is simply:

        it "should something" do
          page_name
        end
        
Running ./script/spec  spec/helpers/application_helper_spec.rb produces:

        F
        
        1)
        NameError in 'ApplicationHelper hmmmm'
        undefined local variable or method `controller' for [RSpec
        example]:#<Class:0xb70de334>
        /path/trunk/config/../app/helpers/application_helper.rb:21:in
        `page_title'
        ./spec/helpers/application_helper_spec.rb:6:
        ./script/spec:4:
        
        Finished in 0.024011 seconds
        
        1 example, 1 failure

The helper spec doesn't know about "controller".  Would I have to mock
the controller?  If so, how?  If not, what would be the solution to
writing a spec for this or any helper that might use "controller"?

-- 
Rick
rick.tessner at gmail.com



More information about the rspec-users mailing list