Method: Cucumber::Ast::StepInvocation#invoke

Defined in:
lib/cucumber/ast/step_invocation.rb

#invoke(step_mother, options) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/cucumber/ast/step_invocation.rb', line 44

def invoke(step_mother, options)
  find_step_match!(step_mother)
  unless @skip_invoke || options[:dry_run] || @exception || @step_collection.exception
    @skip_invoke = true
    begin
      @step_match.invoke(@multiline_arg)
      step_mother.after_step
      status!(:passed)
    rescue Pending => e
      failed(options, e, false)
      status!(:pending)
    rescue Undefined => e
      failed(options, e, false)
      status!(:undefined)
    rescue Exception => e
      failed(options, e, false)
      status!(:failed)
    end
  end
end