[rspec-users] stub! and stubs

Pat Maddox pat.maddox at gmail.com
Wed Oct 21 04:51:43 EDT 2009


On Mon, Oct 12, 2009 at 6:26 PM, Scott Taylor <scott at railsnewbie.com> wrote:
>
> On Oct 12, 2009, at 9:14 PM, David Chelimsky wrote:
>
>> On Oct 12, 2009, at 9:37 PM, Sam Woodard wrote:
>>
>>> I have an interesting setup:  I am using rspec for mocking but I have
>>> mocha installed which give me access to any_instance, expects, etc.  The
>>> problem that I am having is that I want to stub out a method for the
>>> duration of a single example, throughout that example but only for that
>>> example.
>>>
>>> If I do,
>>>
>>> Goal.any_instance.stub!(:valid?).and_return(true)
>>>
>>> this is not sufficient because valid is called more than once
>>>
>>> If I do,
>>>
>>> Goal.any_instance.stubs(:valid?).returns(true) then my tests are not
>>> independent but dependent on one another.
>>>
>>> Can anyone help?
>>
>> While mocha and rspec's mocks might be compatible for you in some cases,
>> it is purely accidental. I'd strongly recommend you choose one or the other.
>> If any_instance is important to you, I'd choose mocha. If not, choose
>> whichever makes you happier.
>
> Unless I'm incorrect, this is still a feature request on the lighthouse
> tracker.
>
> I don't see why we couldn't use something like this code:
>
> http://github.com/smtlaissezfaire/mix_master
>
> to implement the mixin/mixout feature that we'd need to support different
> frameworks per-example group.

David and I began work in an experimental branch that would make
any_instance easy without any mixin magic (although admittedly it does
do const redefinition magic ;)  I should finish that up at some point.

Pat


More information about the rspec-users mailing list