Forum: RSpec How to use different mocking frameworks?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
543a8d77d4becc9e1ce2eba42bb163d1?d=identicon&s=25 Val (Guest)
on 2009-03-15 06:01
(Received via mailing list)
Hi,

I'm pretty new to Rspec, so hope someone can help me out with this.

I'm leveraging a couple pre-existing applications in my current
project, both have fairly robust test suites in Rspec already.
However, one is using Rspec's builit in mocking, and the other is
using mocha.

If I set config.mock_with mocha in spec_helper.rb, then all of the
rspec mocks fail.  If I comment this out, all of the specs with mocha
fail.

Is there some way to set the mocking framework on a test and/or file
basis?  I've been all over Google, and can't seem to find a resolution
to this.  I really don't want to have to back through and rewrite
someone else's test suite that is already working.

Thanks in advance for your help,
Val
5d38ab152e1e3e219512a9859fcd93af?d=identicon&s=25 David Chelimsky (Guest)
on 2009-03-15 06:06
(Received via mailing list)
On Sat, Mar 14, 2009 at 8:37 PM, Val <vagostino@gmail.com> wrote:
> rspec mocks fail.  If I comment this out, all of the specs with mocha
> fail.
>
> Is there some way to set the mocking framework on a test and/or file
> basis?

Nope. Gotta pick one or the other. Reason - diff mock frameworks
invade Object in diff ways - mixing and matching is dangerous to your
health.
5d38ab152e1e3e219512a9859fcd93af?d=identicon&s=25 David Chelimsky (Guest)
on 2009-03-15 06:22
(Received via mailing list)
On Sun, Mar 15, 2009 at 12:01 AM, David Chelimsky <dchelimsky@gmail.com>
wrote:
>> If I set config.mock_with mocha in spec_helper.rb, then all of the
>> rspec mocks fail.  If I comment this out, all of the specs with mocha
>> fail.
>>
>> Is there some way to set the mocking framework on a test and/or file
>> basis?
>
> Nope. Gotta pick one or the other. Reason - diff mock frameworks
> invade Object in diff ways - mixing and matching is dangerous to your
> health.

I mean within one project. Of course you can use rspec/mocks in one,
mocha in another, flexmock and rr in others.
85d99e7678d8720f6e00ab0f60fe6ea9?d=identicon&s=25 Andrew Premdas (Guest)
on 2009-03-15 14:04
(Received via mailing list)
Would it be possible to split the tests into separate runs - a bit like
having two different run configurations with cucumber?

2009/3/15 David Chelimsky <dchelimsky@gmail.com>
5d38ab152e1e3e219512a9859fcd93af?d=identicon&s=25 David Chelimsky (Guest)
on 2009-03-15 14:18
(Received via mailing list)
On Sun, Mar 15, 2009 at 7:38 AM, Andrew Premdas <apremdas@gmail.com>
wrote:
> Would it be possible to split the tests into separate runs - a bit like
> having two different run configurations with cucumber?

If you split the specs w/ rspec-mocks and those w/ mocha in separate
dirs, you could run them each manually. Or you could create rake tasks
to do it.
543a8d77d4becc9e1ce2eba42bb163d1?d=identicon&s=25 Val (Guest)
on 2009-03-15 23:19
(Received via mailing list)
Okay.  Thanks for your responses.

I guess I'll try splitting them into separate directories.  Will each
directory automatically include it's own spec_helper.rb?
5d38ab152e1e3e219512a9859fcd93af?d=identicon&s=25 David Chelimsky (Guest)
on 2009-03-15 23:23
(Received via mailing list)
On Sun, Mar 15, 2009 at 1:51 PM, Val <vagostino@gmail.com> wrote:
> Okay.  Thanks for your responses.
>
> I guess I'll try splitting them into separate directories.  Will each
> directory automatically include it's own spec_helper.rb?

Not sure I understand that question. You're going to be manually
splitting things up, right?
369b9fd2a0d9e7cdbc60907a2a056ad9?d=identicon&s=25 Scott Taylor (Guest)
on 2009-03-15 23:36
(Received via mailing list)
Val wrote:
> Okay.  Thanks for your responses.
>
> I guess I'll try splitting them into separate directories.  Will each
> directory automatically include it's own spec_helper.rb?
>
Are you using any features from one mock framework that aren't present
in the other?  If not, potentially you could, with some regexp prowess,
rewrite all the mocks of one mocking framework to conform to the syntax
of another.

Scott
This topic is locked and can not be replied to.