2017-01-19 17 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> 

編集:それは小枝がテストで例外をレンダリングし、同じようにdevの方法に関連すると思われます。 https://symfony.com/doc/current/configuration/environments.htmlで述べたように:

にかかわらず、環境の、symfonyのアプリケーションは、trueまたはfalseに設定 デバッグモードで実行することができます。これは、エラーページにスタックトレースを表示する場合や、各要求でキャッシュ ファイルが動的に再構築される場合など、 アプリケーションの多くに影響します。 要件ではありませんが、デバッグモードは通常、devとtestの場合はtrueに設定され、 環境の場合はprod環境ではfalseに設定されます。

ここで、kernel.debugパラメータをテストでどのように設定できますか?

+0

を無効にするconfig_test.ymlに行を追加することであると思われますか? – COil

+0

@COilコントローラで例外が発生した場合、phpunitでトレースを出力したいと思います。私は本当になぜtwigはテスト環境で例外を処理し、私は決して見ることができないページにスタックトレースをレンダリングするのだろうか? – slaur4

答えて

0

今のところ、最良の選択肢は、あなたがテストしたいんどのような小枝例外ハンドラ

twig: 
    exception_controller: false 
関連する問題