Вам необходимо использовать функции изоляции процессов PHPUnit - запустите каждый набор тестов в новом процессе.
phpunit --process-isolation ...
Это единственный способ убедиться, что фатальные ошибки не нарушают вывод phpunit.
Время исполнения
Изоляция процесса умножает время выполнения вашего теста, потому что для каждого отдельного теста , запускается новый экземпляр PHP, выполняется загрузчик и т. Д.
Чтобы исправить эту ситуацию, вы можете выбрать запуск полных тестовых случаев в отдельном процессе (@runTestsInSeparateProcesses
) или только в отдельных случаях, которые, как известно, иногда заканчиваются (@runInSeparateProcess
).