[Rspec-users] Fwd: mock parameter problem
David Chelimsky
dchelimsky at gmail.com
Wed Oct 25 00:00:25 EDT 2006
On 10/24/06, Micah Martin <micah at 8thlight.com> wrote:
>
> Here's another one.
>
> spec:
>
> m = mock("blah")
> m.should_receive(:foo).with(1)
>
> code:
>
> m.foo(2)
>
> Failure message:
>
> Mock 'blah' expected 'foo' once, but received it 0 times
>
> ------
>
> Twice now I've gotten this failure message and wasted time trying to
> understand why the method foo() was not being called despite all evidence
> suggesting that it was being called. The problem is that rSpec is lying to
> me. foo() is being called. The parameter is not what's expected, but foo()
> is being called.
>
> I'm not sure how fancy you guys want to get with the failure messages, but
> more information is needed. Maybe:
>
> Mock 'blah' expected 'foo(1)' once, but received it 0 times
> or
> Mock 'blah' expected 'foo' once with 1, but received it 1 time with 2
> or to avoid the problem printing unknown parameters
> Mock 'blah' expected 'foo' with one parameter, but received it 1 time with
> the wrong parameter
This is actually fixed in the trunk. So now if you do this:
mock.should_receive(:foo).with(:arg)
mock.blah(:wrong_arg)
You'll get this:
Mock 'blah' expected :foo with [:arg] once, and received it 0 times.
>
> Perhaps existing mock frameworks already have elegant terminology that could
> be referenced.
>
> I'll submit an RFE as soon as I figure out how.
To raise RFE (Request for Enhancement):
1. go to http://rubyforge.org/tracker/?atid=3152&group_id=797&func=browse
2. Click "Submit New"
The rest should be self explanatory.
Thanks for pointing these things out, and thanks for using our mock framework!
>
> Micah Martin
> 8th Light, Inc.
> www.8thlight.com
>
>
>
>
> _______________________________________________
> Rspec-users mailing list
> Rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
>
More information about the Rspec-users
mailing list