[rspec-users] Confusion At Failing Specs

Zach Dennis zach.dennis at gmail.com
Fri Nov 7 16:59:02 EST 2008


On Fri, Nov 7, 2008 at 4:35 PM, Russell Norris <rsl at swimcommunity.org> wrote:
> Can someone please explain to me why this spec fails
>
> it "should work" do
>
>   template.stub!(:render)
>
>   template.should_receive(:render).with(:partial => "foo")
>
>   render @template_with_render_partial_foo
>
> end
>
> but this spec passes
>
> it "should work" do
>
>   @foo.stub!(:bar)
>
>   @foo.should_receive(:bar).with(:baz)
>
>   @foo.bar :baz
>
> end
>
> It seems like they should work similarly and indeed this has worked for me
> until I switched to gem rspec-rails from vendor/plugin [recent]. Not sure
> what I'm doing wrong here.
>

In the first example, you call "stub!(:render)". This is stubbing all
calls to render with any arguments. So you've stubbed the call that
"render @template_with_render_partial_foo" makes.

Try: template.stub!(:render).with(:partial => anything)


-- 
Zach Dennis
http://www.continuousthinking.com
http://www.mutuallyhuman.com


More information about the rspec-users mailing list