Module: TurnipFormatter::Scenario

Includes:
RSpec::Core::BacktraceFormatter
Included in:
Failure, Pass, Pending
Defined in:
lib/turnip_formatter/scenario.rb,
lib/turnip_formatter/scenario/pass.rb,
lib/turnip_formatter/scenario/failure.rb,
lib/turnip_formatter/scenario/pending.rb

Defined Under Namespace

Classes: Failure, NoExistFailedStepInformationError, NoExistPendingStepInformationError, NoFeatureFileError, NotExistStepsInformationError, NotFailedScenarioError, NotPassedScenarioError, NotPendingScenarioError, Pass, Pending

Instance Method Summary collapse

Instance Method Details

#exampleObject



73
74
75
# File 'lib/turnip_formatter/scenario.rb', line 73

def example
  @example
end

#feature_file_pathObject



65
66
67
# File 'lib/turnip_formatter/scenario.rb', line 65

def feature_file_path
  example.[:file_path]
end

#feature_infoObject



56
57
58
59
# File 'lib/turnip_formatter/scenario.rb', line 56

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

#feature_nameObject



61
62
63
# File 'lib/turnip_formatter/scenario.rb', line 61

def feature_name
  example.example_group.[:example_group][:example_group][:description]
end

#idObject



31
32
33
# File 'lib/turnip_formatter/scenario.rb', line 31

def id
  "step_" + object_id.to_s
end

#initialize(example) ⇒ Object

Parameters:

  • example (RSpec::Core::Example)


15
16
17
18
# File 'lib/turnip_formatter/scenario.rb', line 15

def initialize(example)
  @example = example
  clean_backtrace
end

#nameString

Returns scenario name.

Returns:

  • (String)

    scenario name



38
39
40
# File 'lib/turnip_formatter/scenario.rb', line 38

def name
  example.example_group.description
end

#run_timeString

Returns scenario run time.

Returns:

  • (String)

    scenario run time



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

def run_time
  example.execution_result[:run_time]
end

#statusString

Returns scenario status (‘passed’, ‘failed’ or ‘pending’).

Returns:

  • (String)

    scenario status (‘passed’, ‘failed’ or ‘pending’)



45
46
47
# File 'lib/turnip_formatter/scenario.rb', line 45

def status
  example.execution_result[:status]
end

#stepsObject



25
26
27
28
29
# File 'lib/turnip_formatter/scenario.rb', line 25

def steps
  @steps ||= descriptions.map do |desc|
    TurnipFormatter::Step.new(example, desc)
  end
end

#tagsObject



69
70
71
# File 'lib/turnip_formatter/scenario.rb', line 69

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

#validationObject



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

def validation
  raise NotExistStepsInformationError unless example..member?(:turnip_formatter)
  raise NoFeatureFileError unless feature_file_path.end_with?('.feature')
end