/vendor/bundle/jruby/2.1/gems/rspec-core-2.14.8/features/example_groups/shared_context.feature
https://github.com/delowong/logstash · Gherkin Specification · 74 lines · 61 code · 13 blank · 0 comment · 2 complexity · 72006ccbf1535fd11d4c11f58d50d48d MD5 · raw file
- Feature: shared context
- Use `shared_context` to define a block that will be evaluated in the context
- of example groups either explicitly, using `include_context`, or implicitly by
- matching metadata.
- Background:
- Given a file named "shared_stuff.rb" with:
- """ruby
- shared_context "shared stuff", :a => :b do
- before { @some_var = :some_value }
- def shared_method
- "it works"
- end
- let(:shared_let) { {'arbitrary' => 'object'} }
- subject do
- 'this is the subject'
- end
- end
- """
- Scenario: declare shared context and include it with include_context
- Given a file named "shared_context_example.rb" with:
- """ruby
- require "./shared_stuff.rb"
- describe "group that includes a shared context using 'include_context'" do
- include_context "shared stuff"
- it "has access to methods defined in shared context" do
- shared_method.should eq("it works")
- end
- it "has access to methods defined with let in shared context" do
- shared_let['arbitrary'].should eq('object')
- end
- it "runs the before hooks defined in the shared context" do
- @some_var.should be(:some_value)
- end
- it "accesses the subject defined in the shared context" do
- subject.should eq('this is the subject')
- end
- end
- """
- When I run `rspec shared_context_example.rb`
- Then the examples should all pass
- Scenario: declare shared context and include it with metadata
- Given a file named "shared_context_example.rb" with:
- """ruby
- require "./shared_stuff.rb"
- describe "group that includes a shared context using metadata", :a => :b do
- it "has access to methods defined in shared context" do
- shared_method.should eq("it works")
- end
- it "has access to methods defined with let in shared context" do
- shared_let['arbitrary'].should eq('object')
- end
- it "runs the before hooks defined in the shared context" do
- @some_var.should be(:some_value)
- end
- it "accesses the subject defined in the shared context" do
- subject.should eq('this is the subject')
- end
- end
- """
- When I run `rspec shared_context_example.rb`
- Then the examples should all pass