Module: Turnip::RSpec::Execute

Defined in:
lib/turnip_formatter/ext/turnip/rspec.rb

Instance Method Summary collapse

Instance Method Details

#initialize_scenario_metadataObject



19
20
21
22
23
24
25
26
# File 'lib/turnip_formatter/ext/turnip/rspec.rb', line 19

def 
  example.[:steps] = {
    descriptions: [],
    docstrings: [],
    keywords: [],
    tags: [],
  }
end

#push_scenario_metadata(scenario) ⇒ Object



28
29
30
31
32
33
34
35
36
# File 'lib/turnip_formatter/ext/turnip/rspec.rb', line 28

def (scenario)
  steps = scenario.steps
  example.[:steps].tap do |meta|
    meta[:descriptions] += steps.map(&:description)
    meta[:docstrings]   += steps.map(&:extra_args)
    meta[:keywords]     += steps.map(&:keyword)
    meta[:tags]          = scenario.tags if scenario.respond_to?(:tags)
  end
end

#run_step(feature_file, step, index) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/turnip_formatter/ext/turnip/rspec.rb', line 8

def run_step(feature_file, step, index)
  begin
    step(step)
  rescue Turnip::Pending
    pending("No such step(#{index}): '#{step}'")
  rescue StandardError => e
    e.backtrace.push "#{feature_file}:#{step.line}:in step:#{index} `#{step.description}'"
    raise e
  end
end