Sha256: 08d004ff94463fc6b72c164991e8cc483f5e56f17f1fd4a9feb003b153027e02
Contents?: true
Size: 1.84 KB
Versions: 1
Compression:
Stored size: 1.84 KB
Contents
module RSpec module Proverbs module ExampleGroup # 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. 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 def Given(message, options = {}, &block) action :given, message, options, &block end def When(message, options = {}, &block) action :when, message, options, &block end def Then(message, options = {}, &block) action :then, message, options, &block end def And(message, options = {}, &block) action :and, message, options, &block end def But(message, options = {}, &block) action :but, message, options, &block end private 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 Exception => 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 end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
proverbs-0.1.0 | lib/proverbs/rspec/example_group.rb |