Symfony отключает вывод исключений в ApiPlatform ApiTestCase

Я пытаюсь написать тест API для контроллера в среде php Symfony, используя ApiPlatform\Symfony\Bundle\Test\ApiTestCase, но когда я выдаю исключение (нарушение ограничений) в контроллере, я получаю следующий вывод в консоли:

...[error] Uncaught PHP Exception ApiPlatform\Symfony\Validator\Exception\ValidationException: "Exception message" at /srv/src/Repository/MyRepository line 244
string(0) ""
.......                                                        10 / 10 (100%)

который, как видите, разрывает пунктирные линии и пишет сообщение об ошибке.

Проблема только визуальная, но она все еще беспокоит меня, поскольку результаты теста станут нечитаемыми, когда будут выполнены новые подобные тесты.

Мой код:

 $response = $this->client->request('POST', '/api/test', [
            'headers' => [
                'Authorization' => $this->token,
            ],
            'json' => [
                'data1' => 1,
                'data2' => 1
            ],
        ]);


        $this->assertResponseStatusCodeSame(Response::HTTP_UNPROCESSABLE_ENTITY);
        $this->assertEquals('Exception message', $response->toArray(false)['violations'][0]['message']);

Код, который выдает исключение:


            $violation = new ConstraintViolation('Exception message', '', [], '', '', '');
            throw new ValidationException((new ConstraintViolationList([$violation])));
        

Тесты проходят нормально, ответ правильный, HTTP-код тоже в порядке, но этого вывода в консоль, на мой взгляд, быть не должно.

Могу ли я как-то отключить его?

Обычно запуск composer require logger устанавливает monolog и решает проблему. Журналы будут записываться в файл в каталоге ./var.

rugolinifr 26.02.2024 00:09
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
1
1
75
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Установка monolog и настройка его для сброса ошибок в файл журнала решили проблему.

Другие вопросы по теме