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

Class | Test::Unit::UI::TestRunnerMediator
In: | test/unit/ui/testrunnermediator.rb
Parent: | Object

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

### Methods

new run_suite

### Included Modules

Util::Observable

### Constants

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

### Public Class methods

new(suite)

Creates a new TestRunnerMediator initialized to run the passed suite.

[Source]

    # File test/unit/ui/testrunnermediator.rb, line 24
            def initialize(suite)
              @suite = suite
            end

### Public Instance methods

run_suite()

Runs the suite the TestRunnerMediator was created with.

[Source]

    # File test/unit/ui/testrunnermediator.rb, line 30
            def run_suite
              Unit.run = true
              begin_time = Time.now
              notify_listeners(RESET, @suite.size)
              result = create_result
              notify_listeners(STARTED, result)
              result_listener = result.add_listener(TestResult::CHANGED) do |updated_result|
                notify_listeners(TestResult::CHANGED, updated_result)
              end

              fault_listener = result.add_listener(TestResult::FAULT) do |fault|
                notify_listeners(TestResult::FAULT, fault)
              end

              @suite.run(result) do |channel, value|
                notify_listeners(channel, value)
              end

              result.remove_listener(TestResult::FAULT, fault_listener)
              result.remove_listener(TestResult::CHANGED, result_listener)
              end_time = Time.now
              elapsed_time = end_time - begin_time
              notify_listeners(FINISHED, elapsed_time) #"Finished in #{elapsed_time} seconds.")
              return result
            end

[Validate]