国产gaysexchina男同gay,japanrcep老熟妇乱子伦视频,吃奶呻吟打开双腿做受动态图,成人色网站,国产av一区二区三区最新精品

編寫自定義斷言

2018-02-24 15:42 更新

編寫自定義斷言

編寫自定義斷言時,最佳實踐是遵循 PHPUnit 自有斷言的實現(xiàn)方式。正如 Example?14.1, “PHPUnit_Framework_Assert 類的 assertTrue() 與 isTrue() 方法”中所示,assertTrue() 方法只是對 isTrue()assertThat() 方法的外包覆:isTrue() 創(chuàng)建了一個匹配器對象,將其傳遞給 assertThat() 進行評定。

Example?14.1.?PHPUnit_Framework_Assert 類的 assertTrue() 與 isTrue() 方法

<?php
abstract class PHPUnit_Framework_Assert
{
    // ...

    /**
     * 斷言某個條件為真。
     *
     * @param  boolean $condition
     * @param  string  $message
     * @throws PHPUnit_Framework_AssertionFailedError
     */
    public static function assertTrue($condition, $message = '')
    {
        self::assertThat($condition, self::isTrue(), $message);
    }

    // ...

    /**
     * 返回一個 PHPUnit_Framework_Constraint_IsTrue 匹配器對象
     *
     * @return PHPUnit_Framework_Constraint_IsTrue
     * @since  Method available since Release 3.3.0
     */
    public static function isTrue()
    {
        return new PHPUnit_Framework_Constraint_IsTrue;
    }

    // ...
}?>

Example?14.2, “PHPUnit_Framework_Constraint_IsTrue 類”展示了 PHPUnit_Framework_Constraint_IsTrue 是如何擴展針對匹配器對象(或約束)的抽象基類 PHPUnit_Framework_Constraint 的。

Example?14.2.?PHPUnit_Framework_Constraint_IsTrue 類

<?php
class PHPUnit_Framework_Constraint_IsTrue extends PHPUnit_Framework_Constraint
{
    /**
     * 對參數(shù) $other 進行約束評定。如果符合約束,
     * 返回 TRUE,否則返回 FALSE。
     *
     * @param mixed $other Value or object to evaluate.
     * @return bool
     */
    public function matches($other)
    {
        return $other === TRUE;
    }

    /**
     * 返回代表此約束的字符串。
     *
     * @return string
     */
    public function toString()
    {
        return 'is true';
    }
}?>

在實現(xiàn) assertTrue()isTrue() 方法及 PHPUnit_Framework_Constraint_IsTrue 類時所付出的努力帶來了一些好處,assertThat() 能夠自動負責(zé)起斷言的評定與任務(wù)簿記(例如為了統(tǒng)計目的而對其進行計數(shù))工作。此外, isTrue() 方法還可以在配置仿件對象時用來作為匹配器。

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號