Class: Test::Unit::UI::TestRunnerMediator
- Inherits:
-
Object
- Object
- Test::Unit::UI::TestRunnerMediator
- 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
-
#initialize(suite) ⇒ TestRunnerMediator
constructor
Creates a new TestRunnerMediator initialized to run the passed suite.
-
#run_suite ⇒ Object
Runs the suite the TestRunnerMediator was created with.
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
#run_suite ⇒ Object
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 52 53 54 55 56 |
# File 'lib/test/unit/ui/testrunnermediator.rb', line 32 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 |