如何为fopen()中不正确的文件路径在PHPUnit中设置预期的异常


How to set expected exception in PHPUnit for incorrect file path in fopen()?

我知道如何在使用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");
    }
}

对于文件系统上的单元测试,最好使用类似vfsStream 的东西

vfsStream是虚拟文件系统的流包装器,对于测试来说,在那里编写比在真实文件系统中编写更干净的解决方案。