Class: TurnipFormatter::Resource::Scenario::Base

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/turnip_formatter/resource/scenario/base.rb

Direct Known Subclasses

Failure, Pass, Pending

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(example) ⇒ Base

Returns a new instance of Base.

Parameters:

  • example (RSpec::Core::Example)


17
18
19
# File 'lib/turnip_formatter/resource/scenario/base.rb', line 17

def initialize(example)
  @example = example
end

Instance Attribute Details

#exampleObject (readonly)

Returns the value of attribute example.



9
10
11
# File 'lib/turnip_formatter/resource/scenario/base.rb', line 9

def example
  @example
end

Instance Method Details

#backgroundsObject



44
45
46
# File 'lib/turnip_formatter/resource/scenario/base.rb', line 44

def backgrounds
  feature.backgrounds
end

#featureObject



52
53
54
# File 'lib/turnip_formatter/resource/scenario/base.rb', line 52

def feature
  example.[:turnip_formatter][:feature]
end

#feature_infoObject



39
40
41
42
# File 'lib/turnip_formatter/resource/scenario/base.rb', line 39

def feature_info
  path = RSpec::Core::Metadata.relative_path(feature_file_path)
  "\"#{feature.name}\" in #{path}"
end

#idObject



21
22
23
# File 'lib/turnip_formatter/resource/scenario/base.rb', line 21

def id
  'scenario_' + object_id.to_s
end

#mark_statusObject

Raises:

  • (NotImplementedError)


68
69
70
# File 'lib/turnip_formatter/resource/scenario/base.rb', line 68

def mark_status
  raise NotImplementedError
end

#run_timeFloat

Returns scenario run time (sec).

Returns:

  • (Float)

    scenario run time (sec)



35
36
37
# File 'lib/turnip_formatter/resource/scenario/base.rb', line 35

def run_time
  execution_result.run_time
end

#statusSymbol

Returns scenario status (:passed | :failed | :pending).

Returns:

  • (Symbol)

    scenario status (:passed | :failed | :pending)



28
29
30
# File 'lib/turnip_formatter/resource/scenario/base.rb', line 28

def status
  execution_result.status.to_sym
end

#stepsObject



56
57
58
59
60
61
62
63
64
65
66
# File 'lib/turnip_formatter/resource/scenario/base.rb', line 56

def steps
  return @steps if @steps

  @steps = raw_steps.map do |step|
    TurnipFormatter::Resource::Step::Step.new(example, step)
  end

  mark_status

  @steps
end

#tagsObject



48
49
50
# File 'lib/turnip_formatter/resource/scenario/base.rb', line 48

def tags
  @tags ||= (feature.tag_names + raw.tag_names).sort.uniq
end