[rspec-users] Aidmock - safe mocking

David Chelimsky dchelimsky at gmail.com
Tue Jan 18 17:12:23 EST 2011


On Jan 18, 2011, at 2:03 PM, Wilker wrote:

> David
> 
> Also, will be nice if in the future you and other mock frameworks authors support some kind of reflection on defined doubles (or even better, I can define an "Aidmock support guideline" to you implement support by yourselves). If you take a look at current RSpec Mocks driver on Aidmock[1] you will see that I need to use a lot of "instance_variable_get" to accomplish the work, and it has a serious risk to broke in any rspec-mocks update...
> 
> WDYT?

I'd be willing to do that in the long run, but I'd want to see how aidmock shapes up in terms of acceptance and usage first. The last thing I want in rspec is a bunch of extra code that nobody is using.

> [1] https://github.com/wilkerlucio/aidmock/blob/master/lib/aidmock/frameworks/rspec.rb
> ---
> Wilker Lúcio
> http://about.me/wilkerlucio/bio
> Kajabi Consultant
> +55 81 82556600
> 
> 
> 
> On Mon, Jan 17, 2011 at 12:11 PM, Wilker <wilkerlucio at gmail.com> wrote:
> Dave, I just updated the gem and documentation, now supporting constrained_to on mocks :)
> 
> You have any other suggestions for now?
> 
> ---
> Wilker Lúcio
> http://about.me/wilkerlucio/bio
> Kajabi Consultant
> +55 81 82556600
> 
> 
> 
> On Mon, Jan 17, 2011 at 9:53 AM, Wilker <wilkerlucio at gmail.com> wrote:
> You are right Dave,
> 
> I was thinking about it, but with a different interface, like:
> 
> Aidmock.double(Interface)
> 
> but I mean your is cooler, and user will be able to apply mocks/stubs directly
> 
> I will work on it today :)
> 
> Thanks
> ---
> Wilker Lúcio
> http://about.me/wilkerlucio/bio
> Kajabi Consultant
> +55 81 82556600
> 
> 
> 
> On Mon, Jan 17, 2011 at 1:45 AM, David Chelimsky <dchelimsky at gmail.com> wrote:
> On Jan 16, 2011, at 5:52 PM, Wilker wrote:
> 
>> Hi guys,
>> 
>> I launched some days ago a new project that aims to make the use of mocks
>> safer.
>> This is the URL of project: https://github.com/wilkerlucio/aidmock
>> 
>> The basic idea is to make user define interfaces of classes, when user
>> defines the class interface (which is something like defining method
>> signatures on C or Java) Aidmock automatic generate some sanity check
>> specs, these specs will verify if class has the method defined, and if
>> it respect arity of interface.
>> 
>> And more important, when user create mocks while developing specs, it
>> will verify all defined mocks, and check if they are respecting
>> defined interface.
>> 
>> You can saw more about project motivation here(with some example of
>> why it exists): https://github.com/wilkerlucio/aidmock/wiki/Motivation
>> 
>> This project is a kind of experimental one, with a different idea, and
>> any feedback will be really welcome.
> 
> Hi Wilker,
> 
> There have been numerous requests for a tool that would warn when mocking method that don't exist, and I think it is great that you are working on aidmock.
> 
> In the Motivation wiki page, you say that you recommend using real objects instead of mocks in all cases. I don't agree with this, as an important basis for mock objects is the idea that we should mock roles, not objects [1].
> 
> I imagine that aidmock could work equally well with real objects and mock objects if there were a hook to tell a mock what interfaces it is allowed to stub. Something like:
> 
> account = double('account').constrained_to(MyInterface)
> 
> WDYT?
> 
> [1] http://static.mockobjects.com/files/mockrolesnotobjects.pdf
> 
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
> 
> 
> 
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20110118/4d30acb9/attachment.html>


More information about the rspec-users mailing list