【发布时间】:2015-09-16 03:42:09
【问题描述】:
我知道如何在使用 PHPUnit 的 setExpectedException() 方法和/或其等效注释进行单元测试时设置预期的异常。
但由于某种原因,我无法在围绕 fopen() 测试一些逻辑时做同样的事情,这是一个示例:
class AbstractFileReaderTest extends \PHPUnit_Framework_TestCase
{
public function test_invalidFileException()
{
$filePath = 'incorrect/file/path.csv';
$this->setExpectedException(\Exception::class);
fopen($filePath, "r");
}
}
【问题讨论】:
-
fopen() 不会抛出异常,它会生成警告(并返回布尔值 false).... 除非您重写 PHP 错误处理程序以抛出异常而不是正常行为
-
除了@MarkBaker 的评论 - setExpectedException 的第一个参数应该是一个字符串。
-
谢谢 :),Chris \Exception::class is string ;)
标签: php exception error-handling phpunit