實現(xiàn) PHPUnit_Framework_TestListener

2018-02-24 15:42 更新

實現(xiàn) PHPUnit_Framework_TestListener

Example?14.3, “簡單的測試監(jiān)聽器”展示了 PHPUnit_Framework_TestListener 接口的一個簡單實現(xiàn)。

Example?14.3.?簡單的測試監(jiān)聽器

<?php
class SimpleTestListener implements PHPUnit_Framework_TestListener
{
    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
    {
        printf("Error while running test '%s'.\n", $test->getName());
    }

    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
    {
        printf("Test '%s' failed.\n", $test->getName());
    }

    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
    {
        printf("Test '%s' is incomplete.\n", $test->getName());
    }

    public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time)
    {
        printf("Test '%s' is deemed risky.\n", $test->getName());
    }

    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
    {
        printf("Test '%s' has been skipped.\n", $test->getName());
    }

    public function startTest(PHPUnit_Framework_Test $test)
    {
        printf("Test '%s' started.\n", $test->getName());
    }

    public function endTest(PHPUnit_Framework_Test $test, $time)
    {
        printf("Test '%s' ended.\n", $test->getName());
    }

    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
    {
        printf("TestSuite '%s' started.\n", $suite->getName());
    }

    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
    {
        printf("TestSuite '%s' ended.\n", $suite->getName());
    }
}
?>

Example?14.4, “使用測試監(jiān)聽器基類”展示了如何從抽象類 PHPUnit_Framework_BaseTestListener 派生子類,這個抽象類為所有接口方法提供了空白實現(xiàn),這樣你就只需要指定那些在你的使用情境下有意義的接口方法。

Example?14.4.?使用測試監(jiān)聽器基類

<?php
class ShortTestListener extends PHPUnit_Framework_BaseTestListener
{
    public function endTest(PHPUnit_Framework_Test $test, $time)
    {
        printf("Test '%s' ended.\n", $test->getName());
    }
}
?>

the section called “測試監(jiān)聽器”中可以看到如何配置 PHPUnit 來將測試監(jiān)聽器附加到測試執(zhí)行過程上。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號