示例#1
0
文件: Unit.php 项目: techart/tao
 /**
  * @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;
 }
示例#2
0
文件: Text.php 项目: techart/tao
 /**
  * @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;
 }