2012-06-05 2 views

ответ

1

Хорошо, ну, это, кажется, мне нужно больше кофе, чтобы добиться успеха в Google;)

Они фактически ответили на мои вопросы в учебнике, просто плохо индексируется один.

Суть в том, что мы просто расширяем HtmlReporter и определяем нашу функцию отчетности. Почему они не сделали это, это меня озадачивает.

http://simpletest.org/en/display_subclass_tutorial.html

class ShowPasses extends HtmlReporter { 

    function paintPass($message) { 
     parent::paintPass($message); 
     print "<span class=\"pass\">Pass</span>: "; 
     $breadcrumb = $this->getTestList(); 
     array_shift($breadcrumb); 
     print implode("->", $breadcrumb); 
     print "->$message<br />\n"; 
    } 

    protected function getCss() { 
     return parent::getCss() . ' .pass { color: green; }'; 
    } 
} 
2

Выходной сигнал дается еще довольно некрасиво, это, как я отформатировал вывод:

class ShowPasses extends HtmlReporter { 
    var $tests = array(); 

    function paintPass($message) { 
     parent::paintPass($message); 
     $pass = "<span class=\"pass\">Pass</span>: "; 
     $breadcrumb = $this->getTestList(); 
     array_shift($breadcrumb); 
     if(!in_array($breadcrumb[1],$this->tests)) 
     { 
      echo "<h2><u>".$breadcrumb[1]."</u><h2>"; 
      $this->tests[] = $breadcrumb[1]; 
     } 
     echo "<h4>$pass".$breadcrumb[2]."</h4>"; 
    } 

    function _getCss() { 
     return parent::_getCss() . ' .pass { color: green; }'; 
    } 
} 

class AllTests extends TestSuite { 
    function AllTests() { 
     $this->TestSuite('All tests'); 
     $this->addFile(dirname(__FILE__).'/testRequest.php'); 
     $this->addFile(dirname(__FILE__).'/testTraductor.php'); 
     $this->addFile(dirname(__FILE__).'/testReservar.php'); 

     //para poder usar por consola 
     //$this->run(new TextReporter()); 
     $this->run(new ShowPasses()); 
    } 
}