Im having a hard time with a rspec controller test im writting, I need
to stub! the User.find call twice once to return the owning user and
once to return the viewing user. however when I attempt
User.stub!(:find).with(1).and_return(@user)
User.stub!(:find).with(2).and_return(@user2)
the second call returns
undefined local variable or method `find’ for #Class:0x7faf42964d00
I’ve managed to replicate the behavior outside of this specific test and
I know the code works as I can test it manually.
Any ideas as to why this is not working? or better still how to get it
working.
Thanks for the help in advance
Have you tried using should_receive instead of stub! ?
Sent from my iPhone
On Tue, Jul 22, 2008 at 9:37 PM, Ry An [email protected] wrote:
I’ve managed to replicate the behavior outside of this specific test and
I know the code works as I can test it manually.
Any ideas as to why this is not working?
Not without more context. What you seem to be trying to do should work.
Would please post the code of the spec (including any before blocks)
and the code for the action in question?
Thanks,
David
2008-07-23 04:37, Ry An:
User.stub!(:find).with(1).and_return(@user)
User.stub!(:find).with(2).and_return(@user2)
the second call returns
undefined local variable or method `find’ for
#Class:0x7faf42964d00
This is a kludge, but you might be able to work around your situation
using
User.stub!(:find).and_return { … calculate retval … }
or
User.stub!(:find).and_return(@user, @user2)
see http://rspec.info/documentation/mocks/stubs.html
Any ideas as to why this is not working? or better still how to get
it working.
Uhh, no idea, sorry.