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.
RESET | = | name + "::RESET" |
STARTED | = | name + "::STARTED" |
FINISHED | = | name + "::FINISHED" |
Creates a new TestRunnerMediator initialized to run the passed suite.
# File test/unit/ui/testrunnermediator.rb, line 24 def initialize(suite) @suite = suite end
Runs the suite the TestRunnerMediator was created with.
# 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