PHPUnit integration test for fatal error: Allowed memory size exhausted

PHPUnit integration test for fatal error: Allowed memory size exhausted

我想测试我的应用程序是否记录了致命错误

PHP Fatal error:  Allowed memory size exhausted

到我的独白处理程序文件。我想为此编写一个集成测试。 问题是当我触发错误时,PHPUnit 将停止。

/**
 * @return void
 */
public function testMemoryLimitExhaustedLogToMonolog(): void
{
    // set memory limit 100mb
    ini_set('memory_limit', '100M');

    while(true) {
        $memoryExhaustingArray[] = 1;
    }
    $this->assertThatMyLogFileHasCatchedTheOutOfMemoryException();
}

有没有办法在 PHP7 中测试致命的内存不足错误?

我认为,没有办法测试这个致命错误,因为 PHPUnit 在内存不足时会崩溃。此错误触发脚本终止且无法捕获:

Safely catch a 'Allowed memory size exhausted' error in PHP