module RSpec::Proverbs::ExampleGroup
Public Instance Methods
And(message, options = {}, &block)
click to toggle source
# File lib/proverbs/rspec/example_group.rb, line 30 def And(message, options = {}, &block) action :and, message, options, &block end
But(message, options = {}, &block)
click to toggle source
# File lib/proverbs/rspec/example_group.rb, line 34 def But(message, options = {}, &block) action :but, message, options, &block end
Given(message, options = {}, &block)
click to toggle source
# File lib/proverbs/rspec/example_group.rb, line 18 def Given(message, options = {}, &block) action :given, message, options, &block end
Then(message, options = {}, &block)
click to toggle source
# File lib/proverbs/rspec/example_group.rb, line 26 def Then(message, options = {}, &block) action :then, message, options, &block end
When(message, options = {}, &block)
click to toggle source
# File lib/proverbs/rspec/example_group.rb, line 22 def When(message, options = {}, &block) action :when, message, options, &block end
example(message, options = {}, &block)
click to toggle source
# File lib/proverbs/rspec/example_group.rb, line 62 def example(message, options = {}, &block) action :example, message, options, &block end
fact(message, options = {}, &block)
click to toggle source
# File lib/proverbs/rspec/example_group.rb, line 42 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/proverbs/rspec/example_group.rb, line 10 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/proverbs/rspec/example_group.rb, line 54 def it(message, options = {}, &block) action :it, message, options, &block end
rule(message, options = {}, &block)
click to toggle source
# File lib/proverbs/rspec/example_group.rb, line 38 def rule(message, options = {}, &block) action :rule, message, options, &block end
specify(message, options = {}, &block)
click to toggle source
# File lib/proverbs/rspec/example_group.rb, line 58 def specify(message, options = {}, &block) action :specify, message, options, &block end
step(message, options = {}, &block)
click to toggle source
# File lib/proverbs/rspec/example_group.rb, line 50 def step(message, options = {}, &block) action :step, message, options, &block end
test(message, options = {}, &block)
click to toggle source
# File lib/proverbs/rspec/example_group.rb, line 46 def test(message, options = {}, &block) action :test, message, options, &block end
Private Instance Methods
action(type, message, options = {}) { || ... }
click to toggle source
# File lib/proverbs/rspec/example_group.rb, line 68 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