Интеграционный тест PHPUnit для фатальной ошибки: допустимый объем памяти исчерпан - PullRequest
2 голосов
/ 08 октября 2019

Я хотел бы проверить, регистрирует ли мое приложение фатальную ошибку

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?

1 Ответ

0 голосов
/ 09 октября 2019

Я думаю, что нет способа проверить эту фатальную ошибку, потому что PHPUnit вылетает, когда ему не хватает памяти. Эта ошибка вызывает завершение работы скрипта и не может быть перехвачена:

Безопасно перехватывает ошибку «Разрешен допустимый объем памяти» в PHP

...