Я использую Symfony 3.1.9 и PhpUnit 5.6.5.Symfony 3.1 + PhpUnit: Исключения контроллера не сообщаются
Всякий раз, когда в контроллере возникает исключение, оно обрабатывается symfony, а трассировка стека отображается в виде.
Как я могу исправить это и сделать вывод phpunit исключением?
Моего PHPUnit конфигурация:
<?xml version="1.0" encoding="UTF-8"?>
<!-- https://phpunit.de/manual/current/en/appendixes.configuration.html -->
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.8/phpunit.xsd"
backupGlobals="false"
colors="true"
bootstrap="app/autoload.php"
>
<php>
<ini name="error_reporting" value="-1" />
<server name="KERNEL_DIR" value="app/" />
</php>
<testsuites>
<testsuite name="Project Test Suite">
<directory>tests</directory>
</testsuite>
</testsuites>
<filter>
<whitelist>
<directory>src</directory>
<exclude>
<directory>src/*Bundle/Resources</directory>
<directory>src/*/*Bundle/Resources</directory>
<directory>src/*/Bundle/*Bundle/Resources</directory>
</exclude>
</whitelist>
</filter>
</phpunit>
Edit: Кажется, связанные с тем, как прутик делает исключение в тесте и устре таким же образом. Как указано в https://symfony.com/doc/current/configuration/environments.html:
Вне зависимости от окружающей среды, приложение Symfony может работать с режиме отладки, установленным в истинным или ложным. Это затрагивает многие вещи в приложении , например, отображает стопку стеков на страницах ошибок или если файлы кэша динамически перестраиваются при каждом запросе. Хотя не требование , режим отладки, как правило, установлен на true для девелоперов и тестовых сред и false для среды prod.
Теперь как мы можем установить параметр kernel.debug в test?
Что вы хотите проверить? – COil
@COil Я бы хотел, чтобы phpunit выводил трассировку, когда в моих контроллерах возникает исключение. Я действительно удивляюсь, почему трюк обрабатывает исключения в тестовой среде и отображает трассировку стека на странице, которую я никогда не увижу? – slaur4