【发布时间】:2015-06-26 03:58:11
【问题描述】:
我有一个 Symfony 2.7 表单类型,它导致了E_USER_DEPRECATED 级别的一些错误。这个错误不是来自我自己的代码,而是来自vendor/symfony/symfony/src/Symfony/Bridge/Doctrine/Form/Type/DoctrineType.php。
在使用网络浏览器的dev 模式下,我可以使用上述表单访问该页面。 WDT 确实向我显示了一些已弃用的消息,但表单确实有效,页面返回状态为 200。
使用 Behat 3(使用 Behat\Symfony2Extension\Driver\KernelDriver 和 Behat\Mink\Driver\BrowserKitDriver),对相同 URL 的请求会返回状态 500 服务器错误。响应中的堆栈跟踪显示 DEPRECATED 错误导致异常。
我的 Behat 配置与 http://docs.behat.org/en/v3.0/cookbooks/1.symfony2_integration.html 中描述的一样简单
当我按照https://stackoverflow.com/a/9217606/2342504 的建议在我的FeatureContext.php 文件上执行define('BEHAT_ERROR_REPORTING', 0); 时,行为没有变化。
经过一些代码扫描,我猜想在 Behat 3 中删除了常量 BEHAT_ERROR_REPORTING 并改用了 RuntimeCallHandler::errorReportingLevel。
但我目前不知道如何配置或设置RuntimeCallHandler::errorReportingLevel。
【问题讨论】: