热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

模拟抛出错误phpunit的方法

如何解决《模拟抛出错误phpunit的方法》经验,为你挑选了2个好方法。

PHPUnit让我使用以下任一方法创建方法存根以抛出异常:

[->will($this->throwException(..)][1]

->willThrowException(..

我需要测试方法存根抛出PHP错误的一些情况.

PHPUnit是否支持这样的东西?这里有变通方法吗?



1> Nikhil Kuria..:

PHPUnit TestCase类中的throwException()可以将Throwable的任何实例作为param.

这意味着,

->will($this->throwException(new Error()));
->will($this->throwException(new Exception()));

都是有效的


顺便说一句,您可以使用`willThrowException()`代替.

2> Matt Doran..:

您可以在测试中使函数抛出异常,如下所示:

$handlerCOnsentMessage= $this->getMockBuilder('YourClass')
            ->setMethods(array('yourMethod'))->getMock();

$handlerConsentMessage->method('yourMethod')->willThrowException(new Exception());

$handlerConsentMessage->run('functionToRun');

现在,如果您曾经调用过函数YourToMethod,则在运行测试函数functionToRun时,它将引发异常。


推荐阅读
author-avatar
天雨
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有