[rspec-users] 'it' duplicate example: BUG

David Chelimsky dchelimsky at gmail.com
Wed Nov 21 16:46:52 EST 2007


On Nov 21, 2007 3:42 PM, Scott Taylor <mailing_lists at railsnewbie.com> wrote:
>
> On Nov 21, 2007, at 3:17 PM, aslak hellesoy wrote:
>
> > On 11/21/07, Chad Humphries <chad at spicycode.com> wrote:
> >> One of the recent trunk changesets modified the default behaviour to
> >> fail fast if duplicate examples are detected within a single
> >> behaviour/
> >> example group.   This is basically letting you know you have to "it"
> >> blocks in the behaviour with the same description.
> >>
> >
> > This is correct. It's not a bug - it's by design and documented in
> > CHANGES.
> >
> > The reason I put it in has an interesting explanation. Over the past
> > few days our coverage dropped from 100% to 99.9% and we couldn't
> > understand why. RCov reported that some code wasn't being covered, but
> > I *knew* there were examples covering it.
> >
> > Something was fishy.
> >
> > Then I remembered that Brian a few days ago did a change to the
> > internals - every it block now creates a method with the same name as
> > the description, and later calls that method to run the example.
> > Nothing wrong with that, but it had some sideeffects we didn't think
> > about: If there were duplicates, the last one would simply overwrite
> > (monkey patch!) the previous one with the same name. And as a result
> > never get run.
> >
> > Since I'm a fail fast kind of guy I made RSpec do that.
>
> Yep, me too.
>
> >
> > And then I had to go and fix a dozen or so duplicates in our own code.
> > Damn CMD-C/CMD-V keys.
> >
> > I realise the error message you're getting now isn't exactly easy to
> > grok, but as always - we're glad to take patches to make it speak
> > nicer to you.
>
> Actually the error was rather clear - I just wasn't expecting it to
> happen over night (literally).  But then again, that's running on
> trunk for you!  (I'll make sure to check the CHANGELOG nextime).
>
> On the same topic - has the following been deprecated?
>
> it do
>    ..
> end

No it hasn't, and that presents an interesting dilemma. Need to give
that some thought.

>
> ?  Wouldn't double example names creed up pretty quickly with this
> sort of syntax?

We'd have to keep track and rename them. Not pretty.

>
>
>
> This actually helped me clear out a few duplicate examples that I had
> going on.
>
> Thanks for the info,
>
>
> Scott
>
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>


More information about the rspec-users mailing list