Module: RSpec::Core::SharedExampleGroup

Included in:
ExampleGroup
Defined in:
lib/rspec/core/shared_example_group.rb

Instance Method Summary collapse

Instance Method Details

#share_as(name, &block) ⇒ Object

Deprecated.


40
41
42
43
44
# File 'lib/rspec/core/shared_example_group.rb', line 40

def share_as(name, &block)
  RSpec.deprecate("Rspec::Core::SharedExampleGroup#share_as",
                  "RSpec::SharedContext or shared_examples")
  Registry.add_const(name, &block)
end

#shared_examples(name, &block) ⇒ Object #shared_examples(name, tags, &block) ⇒ Object Also known as: shared_context, share_examples_for, shared_examples_for

Wraps the block in a module which can then be included in example groups using include_examples, include_context, or it_behaves_like.

Examples:


shared_examples "auditable" do
  it "stores an audit record on save!" do
    lambda { auditable.save! }.should change(Audit, :count).by(1)
  end
end

class Account do
  it_behaves_like "auditable" do
    def auditable; Account.new; end
  end
end

Parameters:

  • name (String)

    to match when looking up this shared group

  • block

    to be eval'd in a nested example group generated by it_behaves_like

See Also:



31
32
33
# File 'lib/rspec/core/shared_example_group.rb', line 31

def shared_examples *args, &block
  Registry.add_group(*args, &block)
end