[rspec-devel] Confusion over SharedExampleGroups

David Chelimsky dchelimsky at gmail.com
Wed Apr 29 12:51:14 EDT 2009


On Wed, Apr 29, 2009 at 11:42 AM, Brian Takita <brian at pivotallabs.com> wrote:
> A colleague of mine ran into issues with the usage of SharedExampleGroups.
>
> He was expecting it to create its own ExampleGroup (describe block)
> when it is invoked using it_should_behave_like, and was surprised when
> test pollution occurred due to a before block in the
> SharedExampleGroup.
>
> What is your experience with this?
>
> Should there be another type of SharedExampleGroup that does
> encapsulate before blocks?
>
> For example,
>
> shared_describe "My shared specs" do
>  before do
>    @defined_in_shared_example_group = true
>  end
>
>  it "should not interfere with other specs" do
>  end
> end
>
> describe Foobar do
>  it_should_behave_like "My shared specs"
>
>  it "should not see defined_in_shared_example_group" do
>    @defined_in_shared_example_group.should be_nil
>  end
> end

What's the point of doing this? i.e. why would you want a shared group
that does not share state? They are not parameterized, so they are not
configurable except through shared state. Unless you're thinking that
the shared state is access to Foobar through described class, which
begs the question if we're sharing some state, why not share all
state?


More information about the rspec-devel mailing list