/** * @param Dev_Unit_TestResult $result * * @return Dev_Unit_TestSuite */ public function run(Dev_Unit_TestResult $result = null) { $result = $result ? $result : Dev_Unit::TestResult(); foreach ($this->tests as $test) { if ($result->should_stop) { break; } $test->run($result); } return $this; }
/** * @param $Dev .Unit.RunInterface * * @return Dev_Unit_Run_Text_TestResult */ public function run(Dev_Unit_RunInterface $test) { $result = Dev_Unit::TestResult()->listener(new Dev_Unit_Run_Text_TestResultListener($this->stream)); $started_at = Time::now(); $this->stream->format("Started at %s\n", $started_at->format(Dev_Unit_Run_Text::DATE_FORMAT))->write(Dev_Unit_Run_Text::DELIMITER1 . "\n"); $test->run($result); $finished_at = Time::now(); $this->print_errors_for($result); $this->stream->format("%s\nFinished at %s (%ds). Tests: %d\n", Dev_Unit_Run_Text::DELIMITER2, $finished_at->format(Dev_Unit_Run_Text::DATE_FORMAT), Time::seconds_between($finished_at, $started_at), $result->tests_ran); if ($result->was_successful()) { $this->stream->write("OK\n\n"); } else { $this->stream->write('FAILED ('); if ($result->num_of_failures) { $this->stream->format('failures=%d', $result->num_of_failures); } if ($result->num_of_errors) { $this->stream->format(($result->num_of_failures ? ', ' : '') . 'errors=%d', $result->num_of_errors); } $this->stream->write(")\n\n"); } return $result; }