Extended maintenance of Ruby versions 1.8.7 and 1.9.2 ended on July 31, 2014. Read more
Provides an interface to write any given UI against, hopefully making it easy to write new UIs.
Creates a new TestRunnerMediator initialized to run the passed suite.
# File test/unit/ui/testrunnermediator.rb, line 26
def initialize(suite)
@suite = suite
end
Runs the suite the TestRunnerMediator was created with.
# File 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