加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHPUnit:强制显示被断言的值

发布时间:2020-12-13 16:01:17 所属栏目:PHP教程 来源:网络整理
导读:在 PHPUnit测试失败时,会显示实际值和预期值. 但是当测试通过时,不会显示此信息. 如何强制PHPUnit始终显示预期的和实际的断言结果? 由于您最有可能使用$this- assert …()调用断言,您可以在测试用例中覆盖这些方法.快速示例: class YourTestCase extends P
在 PHPUnit测试失败时,会显示实际值和预期值.
但是当测试通过时,不会显示此信息.

如何强制PHPUnit始终显示预期的和实际的断言结果?

由于您最有可能使用$this-> assert …()调用断言,您可以在测试用例中覆盖这些方法.快速示例:
class YourTestCase extends PHPUnit_Framework_TestCase {
    ...
    static private $messages = array();
    ...
    static public function assertSame($var1,$var2,$message = '') {
        parent::assertSame($var1,$message);
        // assertSame() throws an exception if not true,so the following
        // won't occur unless the messages actually are the same
        $success = print_r($var1,true) . ' is the same as '
                 . print_r($var2,true);
        self::$messages = array_merge(self::$messages,array($success));
    }

    static public function tearDownAfterClass() {
        echo implode("n",self::$messages);
    }
}

当然,tearDownAfterClass()可能不足以适应你的喜好.这与断言失败是不一样的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读