@overload #shared_examples(name,
&block) @overload #shared_examples(name,
tags, &block)
Wraps the `block` in a module which can then be included in example groups
using `include_examples`, `include_context`, or `it_behaves_like`.
@param [String] name to match when looking up this shared group @param
block to be eval'd in a nested example group generated by
`it_behaves_like`
@example
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
@see ExampleGroup.it_behaves_like @see RSpec::Core::ExampleGroup.include_examples
@see RSpec::Core::ExampleGroup.include_context
def shared_examples(*args, &block)
SharedExampleGroup.registry.add_group(self, *args, &block)
end