On 10/20/07, Scott Taylor <[EMAIL PROTECTED]> wrote:
> > These two specs are basically the same, and I can tell you that I
> > would likely NOT write the first one, but I would very likely write
> > the second one. This means that my decision is based on the
> > implementation, which might bug our purist BDD sensibilities.
>
> >
> > Which brings us to an important point. As is software in general, BDD
> > is all about balance. It requires thought. It requires weighing
> > opposing forces and making a practical decision.
> >
>
> Doesn't bug me, at all.  What bugs me is that this sort of mocking is
> not in some other mock library or plugin, which would do this pattern
> for me.

How would such a library know whether you want to store your
FooCollection's Foos in an Array or submit it to a FooService? How
would it know the APIs of all potention FooServices?

Perhaps there are solutions for specific libraries - e.g.
ActiveRecord, but even then you're going to have to specify structure
in advance (has_many vs has_many through) and consequently change your
specs when you decide to change your model.

> These common patterns (for Rails) should be abstracted away
> (as some have been doing with Rails' association proxy).  There is no
> reason that all of those implementation details *of another library*
> need to be crowding the intention of my specs.  Until this happens, I
> need to know all of these details about how another library works,
> which, for me, is too far off the scale (no balance there)...

We're all looking forward to your matcher libraries :)

Cheers,
David
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to