1

SimpleTest の HtmlReporter の冗長性を高めるにはどうすればよいですか?

アプリケーションが失敗したテストに加えて、どのテストに合格したかを確認すると便利な場合があります。

4

2 に答える 2

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());
    }
}
于 2016-01-22T15:42:56.560 に答える
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; }';
    }
}
于 2012-06-05T21:43:40.210 に答える