我怎样才能增加SimpleTest的HtmlReporter的详细程度?
除了失败的测试之外,有时候查看应用程序通过哪些测试也很方便。
答案 0 :(得分: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());
}
}
答案 1 :(得分:1)
好吧,好吧,为了在谷歌取得成功,我似乎需要更多的咖啡;)
他们实际上在一个教程中回答了我的问题,只是一个严重索引的问题。
要点是我们只是扩展一个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; }';
}
}