模拟方法抛出错误 phpunit
2022-08-30 17:40:37
PHPUnit 让我创建一个方法存根来引发异常,使用以下任一方法:
[->will($this->throwException(..)][1]
->willThrowException(..
我需要测试方法存根抛出PHP错误的一些情况。
PHPUnit 是否支持此类内容?这里有任何解决方法吗?
PHPUnit 让我创建一个方法存根来引发异常,使用以下任一方法:
[->will($this->throwException(..)][1]
->willThrowException(..
我需要测试方法存根抛出PHP错误的一些情况。
PHPUnit 是否支持此类内容?这里有任何解决方法吗?
PHPUnit TestCase 类中的 throwException() 可以将 Throwable 的任何实例作为参数。
这意味着,
->will($this->throwException(new Error()));
->will($this->throwException(new Exception()));
均有效
您可以使测试中的函数引发异常,如下所示:
$handlerConsentMessage = $this->getMockBuilder('YourClass')
->setMethods(array('yourMethod'))->getMock();
$handlerConsentMessage->method('yourMethod')->willThrowException(new Exception());
$handlerConsentMessage->run('functionToRun');
现在,当您运行测试函数ToRun时,如果调用函数YourMethod,它将引发异常。