[rspec-users] shared examples sharing methods
Ben Mabey
ben at benmabey.com
Thu Jun 18 01:14:25 EDT 2009
David Chelimsky wrote:
> On Wed, Jun 17, 2009 at 10:14 AM, Andrew Premdas<apremdas at gmail.com> wrote:
>
>> Please have a look at
>> http://gist.github.com/131277
>> What I'd like to do is create a shared_examples group which I can parametize
>> a method. So my shared example would perhaps use method named_address=, or
>> set_named_address and then groups that behave like "Named address" would be
>> able to override this method so it sets the correct address e.g. the last
>> billing address
>>
>
> Here's the short version: There's been a lot of discussion on this
> list about parameterizing shared examples. Basically, given the
> current design it can't happen, and macros are a perfectly good
> solution to the problem, so there's not much incentive to change the
> design.
>
> I'll try to follow up later with a recommendation about a macro,
> unless somebody else beats me to it :)
>
I beat David to it. :) Here are some options:
http://gist.github.com/131701
I think I like #7 and #8 the best with the eval and #subject use. With
#8 I intentionally modify the backtrace so that the when errors happen
it points to where the macro was called, not defined. Sometimes this is
desirable, YMMV. FWIW, I question the value of such specs... but that
is the macro approach.
-Ben
More information about the rspec-users
mailing list