Class: Test::Unit::UI::TestRunnerMediator

Inherits:
Object
  • Object
show all
Includes:
Test::Unit::Util::Observable
Defined in:
lib/test/unit/ui/testrunnermediator.rb

Overview

Provides an interface to write any given UI against, hopefully making it easy to write new UIs.

Constant Summary collapse

RESET =
name + "::RESET"
STARTED =
name + "::STARTED"
FINISHED =
name + "::FINISHED"

Constants included from Test::Unit::Util::Observable

Test::Unit::Util::Observable::NOTHING

Instance Method Summary collapse

Methods included from Test::Unit::Util::Observable

#add_listener, #notify_listeners, #remove_listener

Constructor Details

#initialize(suite) ⇒ TestRunnerMediator

Creates a new TestRunnerMediator initialized to run the passed suite.



26
27
28
# File 'lib/test/unit/ui/testrunnermediator.rb', line 26

def initialize(suite)
  @suite = suite
end

Instance Method Details

#runObject

Runs the suite the TestRunnerMediator was created with.



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/test/unit/ui/testrunnermediator.rb', line 32

def run
  AutoRunner.need_auto_run = false

  result = create_result

  start_time = Time.now
  begin
    with_listener(result) do
      notify_listeners(RESET, @suite.size)
      notify_listeners(STARTED, result)

      run_suite(result)
    end
  ensure
    elapsed_time = Time.now - start_time
    notify_listeners(FINISHED, elapsed_time)
  end

  result
end