[rspec-users] stubbing controller methods, I'm stumped

Jonathan Linowes jonathan at parkerhill.com
Wed May 30 23:12:18 EDT 2007


btw, if you're so inclined, I'm on irc as "linoj"
:)

On May 30, 2007, at 11:09 PM, Jonathan Linowes wrote:

> I must be dense because I keep having trouble stubbing anything in  
> a controller. I can stub models but not controller methods, whether  
> directly defined in the controller file or in a module
>
> Here's a small example:
>
> # sandbox_controller.rb
>
> class SandboxController < ApplicationController
>   def someaction
>     @value = somemethod
>   end
>
>   def somemethod
>     return 10
>   end
> end
>
> # sandbox_controller_spec.rb
>
> require File.dirname(__FILE__) + '/../spec_helper'
>
> describe SandboxController, " handling someaction" do
>   before do
>     SandboxController.stub!(:somemethod).and_return(99)
>   end
>
>   it "should get 99" do
>     get :someaction
>     assigns[:value].should equal(99)
>   end
> end
>
> # console
>
> $ script/spec spec/controllers/sandbox_controller_spec.rb --color -- 
> format specdoc
>
> SandboxController handling someaction
> - should get 99 (FAILED - 1)
>
> 1)
> 'SandboxController handling someaction should get 99' FAILED
> expected 99, got 10 (using .equal?)
> ./spec/controllers/sandbox_controller_spec.rb:10:
> script/spec:4:
>
> Finished in 0.13381 seconds
>
> 1 example, 1 failure
>
>
> In real life I want to stub out the authentication methods in  
> module /lib/authenticated_system.rb , or the before_filter method  
> as suggested to me earlier so I can move forward with my spec'ing  
> controllers that have authorization built in. This is getting painful.
>
> linoj
>
>
>



More information about the rspec-users mailing list