class Cucumber::Core::Report::Summary

Attributes

test_cases[R]
test_steps[R]

Public Class Methods

new(event_bus) click to toggle source
# File lib/cucumber/core/report/summary.rb, line 9
def initialize(event_bus)
  @previous_test_case = nil
  @test_cases = Test::Result::Summary.new
  @test_steps = Test::Result::Summary.new
  subscribe_to(event_bus)
end

Public Instance Methods

ok?(strict: Test::Result::StrictConfiguration.new) click to toggle source
# File lib/cucumber/core/report/summary.rb, line 16
def ok?(strict: Test::Result::StrictConfiguration.new)
  test_cases.ok?(strict: strict)
end

Private Instance Methods

register_test_case_finished_listener(event_bus) click to toggle source
# File lib/cucumber/core/report/summary.rb, line 28
def register_test_case_finished_listener(event_bus)
  event_bus.on(:test_case_finished) do |event|
    if event.test_case != @previous_test_case
      @previous_test_case = event.test_case
      event.result.describe_to(test_cases)
    elsif event.result.passed? || event.result.skipped?
      test_cases.flaky
      test_cases.decrement_failed
    end
  end
end
register_test_step_finished_listener(event_bus) click to toggle source
# File lib/cucumber/core/report/summary.rb, line 40
def register_test_step_finished_listener(event_bus)
  event_bus.on(:test_step_finished) do |event|
    event.result.describe_to(test_steps) unless event.test_step.hook?
  end
end
subscribe_to(event_bus) click to toggle source
# File lib/cucumber/core/report/summary.rb, line 22
def subscribe_to(event_bus)
  register_test_case_finished_listener(event_bus)
  register_test_step_finished_listener(event_bus)
  self
end