Method: Spec::DSL::Main#share_as
- Defined in:
- lib/gems/rspec-1.1.12/lib/spec/dsl/main.rb
#share_as(name, &block) ⇒ Object
Creates a Shared Example Group and assigns it to a constant
share_as :AllEditions do
it "should do all editions stuff" ...
end
describe SmallEdition do
it_should_behave_like AllEditions
it "should do small edition stuff" do
...
end
end
And, for those of you who prefer to use something more like Ruby, you can just include the module directly
describe SmallEdition do
include AllEditions
it "should do small edition stuff" do
...
end
end
74 75 76 77 78 79 80 81 82 |
# File 'lib/gems/rspec-1.1.12/lib/spec/dsl/main.rb', line 74 def share_as(name, &block) begin args = [name] Spec::Example::add_spec_path_to(args) Object.const_set(name, Spec::Example::ExampleGroupFactory.create_shared_example_group(*args, &block)) rescue NameError => e raise NameError.new(e. + "\nThe first argument to share_as must be a legal name for a constant\n") end end |