2017-01-19 2 views
0

Я использую 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?

+0

Что вы хотите проверить? – COil

+0

@COil Я бы хотел, чтобы phpunit выводил трассировку, когда в моих контроллерах возникает исключение. Я действительно удивляюсь, почему трюк обрабатывает исключения в тестовой среде и отображает трассировку стека на странице, которую я никогда не увижу? – slaur4

ответ

0

На данный момент, кажется, лучший вариант, чтобы добавить строку в config_test.yml отключить Twig обработчик исключений

twig: 
    exception_controller: false