Class: Liri::Common::UnitTest::RspecResultParser

Inherits:
Object
  • Object
show all
Defined in:
lib/common/unit_test/rspec_result_parser.rb

Overview

Esta clase parsea texto de resultado en rspec a volores numéricos

Class Method Summary collapse

Class Method Details

.failed_example(failed_example_line) ⇒ Object

Received string like this “rspec ./spec/failed_spec.rb:4 # Liri debería fallar a propósito” and return string like this “/spec/failed_spec.rb:4” or for “rspec ./spec/system/management/budget_investments_spec.rb # Budget Investments behaves like mappable At new_management_budget_investment_path Should create budget_investment with map” return “/spec/system/management/budget_investments_spec.rb



32
33
34
35
36
# File 'lib/common/unit_test/rspec_result_parser.rb', line 32

def failed_example(failed_example_line)
  values = failed_example_line.to_s.match(/(\/.+.rb:\d+)/)
  values ||= failed_example_line.to_s.match(/(\/.+.rb.*\])/)
  values[1] # failed_example
end

.finish_in_values(finish_in_line) ⇒ Object



13
14
15
16
17
18
# File 'lib/common/unit_test/rspec_result_parser.rb', line 13

def finish_in_values(finish_in_line)
  values = finish_in_line.to_s.match(/Finished in (.+)\(files took (.+) to load\)/)
  finish_in_text = values[1]
  files_load_text = values[2]
  { finish_in: text_value_to_seconds(finish_in_text), files_load: text_value_to_seconds(files_load_text) }
end

.finished_summary_values(finished_summary_line) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/common/unit_test/rspec_result_parser.rb', line 20

def finished_summary_values(finished_summary_line)
  values = finished_summary_line.to_s.match(/(.+) examples*, (.+) failures*,*\s*(\d*)/)
  examples = values[1]
  failures = values[2]
  pending = values[3].empty? ? '0' : values[3]
  { examples: examples.to_i, failures: failures.to_i, pending: pending.to_i }
end