Named context or calling include_context with block?

Hello,

I’m playing around with Rspec again after going from test/unit to
rspec then back to test/unit… :slight_smile: Right off the bat, I find myself
wanting to do something like this: DRY'ed rspec using shared_context with a block · GitHub

Basically, I want to name a context, then call it later by name,
passing a block to it.

Or in other words… what is the best way to DRY this code?

Is that possible in Rspec 2.6? If not, can anyone provide a monkey
patch for me? Thanks!

On Aug 5, 2011, at 1:55 PM, Christopher J. Bottaro wrote:

unDRY rspec code · GitHub

Is that possible in Rspec 2.6?

Yes! Take a look at
http://relishapp.com/rspec/rspec-core/dir/example-groups/shared-examples
for some different options.

Hey,

Maybe I’m reading that wrong, but that’s not exactly what I want to
do. In my example, when I call the shared context, I’m passing it a
block. Neither include_context or include_examples take a block when
called.

Thanks.

On Aug 6, 11:57am, David C. [email protected] wrote:

On Aug 6, 8:56 am, David C. [email protected] wrote:

block. Neither include_context or include_examples take a block when
called.

Thanks.

it_behaves_like does, and it can be aliased, so you could so something like
https://gist.github.com/1129417 .

Awesome, that’s exactly what I’m looking for! I guess I was confused
with the examples on relishapp because I thought it would just print
out “it behaves like Module” instead of printing out each individual
example.

One quick thing though… I couldn’t use the constant MyModule with
shared_examples and alias to it_should_behave_like. I had to change
it to a string “MyModule” then everything worked. I’m using RSpec
2.6.4.

Thank you,
– C

On Aug 7, 2011, at 12:17 PM, Christopher J. Bottaro wrote:

One quick thing though… I couldn’t use the constant MyModule with
shared_examples and alias to it_should_behave_like. I had to change
it to a string “MyModule” then everything worked. I’m using RSpec
2.6.4.

That’s fixed in git, will be released in rspec 2.7.0.

Cheers,
David

On Aug 6, 2011, at 10:05 AM, Christopher J. Bottaro wrote:

passing a block to it.

Or in other words… what is the best way to DRY this code?
unDRY rspec code · GitHub

Is that possible in Rspec 2.6?

Yes! Take a look
athttp://relishapp.com/rspec/rspec-core/dir/example-groups/shared-examplesfor some
different options.

Hey,

Maybe I’m reading that wrong, but that’s not exactly what I want to
do. In my example, when I call the shared context, I’m passing it a
block. Neither include_context or include_examples take a block when
called.

Thanks.

it_behaves_like does, and it can be aliased, so you could so something
like https://gist.github.com/1129417.

HTH,
David

ps - I moved your reply inline. Please post inline or at the bottom,
especially if the conversation is already structured that way. See
Top Posting and Bottom Posting for rationale.