Пример #1
0
 public static function run($className)
 {
     $runner = new TestRunner();
     $rc = new ReflectionClass($className);
     $methods = $rc->GetMethods(ReflectionMethod::IS_PUBLIC);
     foreach ($methods as $m) {
         $name = $m->name;
         if (!$runner->isValidTest($name)) {
             continue;
         }
         $count = count($className::$errors);
         $rt = new $className();
         try {
             $rt->setUp();
             $rt->{$name}();
             echo $count === count($className::$errors) ? "." : "F";
         } catch (Exception $e) {
             if ($e instanceof RedisException) {
                 $className::$errors[] = "Uncaught exception '" . $e->getMessage() . "' ({$name})\n";
                 echo 'F';
             } else {
                 echo 'S';
             }
         }
     }
     echo "\n";
     echo implode('', $className::$warnings);
     if (empty($className::$errors)) {
         echo "All tests passed.\n";
         return 0;
     }
     echo implode('', $className::$errors);
     return 1;
 }