module RSpec::TestSpec::ExampleGroup
Public Instance Methods
And(message, options = {}, &block)
click to toggle source
# File lib/test_spec/rspec/example_group.rb, line 32 def And(message, options = {}, &block) action :and, message, options, &block end
But(message, options = {}, &block)
click to toggle source
# File lib/test_spec/rspec/example_group.rb, line 36 def But(message, options = {}, &block) action :but, message, options, &block end
Given(message, options = {}, &block)
click to toggle source
rubocop:disable Naming/MethodName
# File lib/test_spec/rspec/example_group.rb, line 20 def Given(message, options = {}, &block) action :given, message, options, &block end
Then(message, options = {}, &block)
click to toggle source
# File lib/test_spec/rspec/example_group.rb, line 28 def Then(message, options = {}, &block) action :then, message, options, &block end
When(message, options = {}, &block)
click to toggle source
# File lib/test_spec/rspec/example_group.rb, line 24 def When(message, options = {}, &block) action :when, message, options, &block end
example(message, options = {}, &block)
click to toggle source
# File lib/test_spec/rspec/example_group.rb, line 65 def example(message, options = {}, &block) action :example, message, options, &block end
fact(message, options = {}, &block)
click to toggle source
# File lib/test_spec/rspec/example_group.rb, line 45 def fact(message, options = {}, &block) action :fact, message, options, &block end
include_steps(*args)
click to toggle source
In Rspec, example group bodies are delimited by 'describe' and 'context' methods. These encapsulate examples, which are delimited by 'it' methods. Example
groups are evaluated in the context of an ExampleGroup
instance. Individual examples are evaluated in the context of an instance of the ExampleGroup
to which they belong.
# File lib/test_spec/rspec/example_group.rb, line 9 def include_steps(*args) name = args.shift shared_block = ::RSpec.world.shared_example_steps[name] shared_block || raise(ArgumentError, "Could not find shared steps #{name.inspect}") instance_exec(*args, &shared_block) end
it(message, options = {}, &block)
click to toggle source
# File lib/test_spec/rspec/example_group.rb, line 57 def it(message, options = {}, &block) action :it, message, options, &block end
rule(message, options = {}, &block)
click to toggle source
rubocop:enable Naming/MethodName
# File lib/test_spec/rspec/example_group.rb, line 41 def rule(message, options = {}, &block) action :rule, message, options, &block end
specify(message, options = {}, &block)
click to toggle source
# File lib/test_spec/rspec/example_group.rb, line 61 def specify(message, options = {}, &block) action :specify, message, options, &block end
step(message, options = {}, &block)
click to toggle source
# File lib/test_spec/rspec/example_group.rb, line 53 def step(message, options = {}, &block) action :step, message, options, &block end
test(message, options = {}, &block)
click to toggle source
# File lib/test_spec/rspec/example_group.rb, line 49 def test(message, options = {}, &block) action :test, message, options, &block end
Private Instance Methods
action(type, message, options = {}) { || ... }
click to toggle source
rubocop:disable Metrics/AbcSize rubocop:disable Metrics/MethodLength
# File lib/test_spec/rspec/example_group.rb, line 73 def action(type, message, options = {}, &_block) ::RSpec.world.reporter.example_step_started( self, type, message, options ) options = { pending: true } if options == :pending if block_given? && !options[:pending] begin yield rescue StandardError => e ::RSpec.world.reporter.example_step_failed( self, type, message, options ) raise e end ::RSpec.world.reporter.example_step_passed( self, type, message, options ) else ::RSpec.world.reporter.example_step_pending( self, type, message, options ) end end