禁用 Symfony 2(.7) 中已弃用的警告

2022-08-30 14:02:28

自从我更新到.我得到了很多弃用的错误和(消息现在已经很清楚了)。Symfony 22.7PHPUnitconsole

ProjectX\ApiBundle\Tests\Controller\SectionsControllerTest::testPostDebug()
The twig.form.resources configuration key is deprecated since version 2.6 and will be removed in 3.0. Use the twig.form_themes configuration key instead.

任何想法如何暂时禁用它们?


答案 1

AppKernel 继承的 Kernel::init() 函数本身已贬值,因此更改它不是一个可行的长期解决方案。

您可以通过将调用更改为 Debug::enable();在应用程序/控制台和Web /app_dev.php中都是如此。

改变

Debug::enable();

Debug::enable(E_RECOVERABLE_ERROR & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED, false);

这将使所有其他错误报告保持不变,同时抑制折旧警告。而且你根本不需要搞砸内核。


答案 2

在我的情况下,我无法在不使用环境变量的情况下隐藏已弃用的警告。SYMFONY_DEPRECATIONS_HELPER

更改您的phpunit.xml

<phpunit>
    <!-- ... -->

    <php>
        <env name="SYMFONY_DEPRECATIONS_HELPER" value="weak"/>
    </php>
</phpunit>

然后,您只会看到一条消息,例如“剩余的弃用通知(x)”,该消息不被视为测试失败。

希望这会有所帮助。


推荐