Class: CI::Reporter::TestUnit

Inherits:
Test::Unit::UI::TestRunnerMediator
  • Object
show all
Includes:
TestUnitVersion
Defined in:
lib/ci/reporter/test_unit.rb

Overview

Replacement Mediator that adds listeners to capture the results of the Test::Unit runs.

Constant Summary

Constants included from TestUnitVersion

CI::Reporter::TestUnitVersion::VERSION

Instance Method Summary collapse

Constructor Details

#initialize(suite, report_mgr = nil) ⇒ TestUnit

Returns a new instance of TestUnit.



73
74
75
76
77
78
79
80
81
# File 'lib/ci/reporter/test_unit.rb', line 73

def initialize(suite, report_mgr = nil)
  super(suite)
  @report_manager = report_mgr || ReportManager.new("test")
  add_listener(Test::Unit::UI::TestRunnerMediator::STARTED, &method(:started))
  add_listener(Test::Unit::TestCase::STARTED, &method(:test_started))
  add_listener(Test::Unit::TestCase::FINISHED, &method(:test_finished))
  add_listener(Test::Unit::TestResult::FAULT, &method(:fault))
  add_listener(Test::Unit::UI::TestRunnerMediator::FINISHED, &method(:finished))
end

Instance Method Details

#fault(fault) ⇒ Object



104
105
106
107
# File 'lib/ci/reporter/test_unit.rb', line 104

def fault(fault)
  tc = @current_suite.testcases.last
  tc.failures << Failure.new(fault)
end

#finished(elapsed_time) ⇒ Object



109
110
111
# File 'lib/ci/reporter/test_unit.rb', line 109

def finished(elapsed_time)
  finish_suite
end

#started(result) ⇒ Object



83
84
85
86
87
88
89
# File 'lib/ci/reporter/test_unit.rb', line 83

def started(result)
  @suite_result = result
  @last_assertion_count = 0
  @current_suite = nil
  @unknown_count = 0
  @result_assertion_count = 0
end

#test_finished(name) ⇒ Object



100
101
102
# File 'lib/ci/reporter/test_unit.rb', line 100

def test_finished(name)
  finish_test
end

#test_started(name) ⇒ Object



91
92
93
94
95
96
97
98
# File 'lib/ci/reporter/test_unit.rb', line 91

def test_started(name)
  test_name, suite_name = extract_names(name)
  unless @current_suite && @current_suite.name == suite_name
    finish_suite
    start_suite(suite_name)
  end
  start_test(test_name)
end