我正在测试我的包与 PHP 8.4.1 的兼容性。但是,某些依赖项会触发弃用警告。有没有办法配置
PHPUnit
只为我的包报告 deprecation warnings
并忽略依赖项中的那些?换句话说,忽略 vendor
目录中的所有弃用?
Sebastian Bergmann 在 github
上回答了问题是的,这是可能的。不幸的是,并非所有可能的内容都已记录(足够好),但此处提供了一些文档。
对于最常见的用例,您希望将其包含在 phpunit.xml 配置文件中:
<source ignoreIndirectDeprecations="true" restrictNotices="true" restrictWarnings="true">
<include>
<directory>src</directory>
</include>
</source>
<source><include><directory>src</directory></include></source>
告诉 PHPUnit 你只将 src 目录中的代码视为你自己的代码(第一方代码)(以及你的测试代码)ignoreIndirectDeprecations="true"
告诉 PHPUnit 您只对在您自己的代码中触发的 E_DEPRECATED 和 E_USER_DEPRECATED 感兴趣restrictNotices="true"
告诉 PHPUnit 你只对在你自己的代码中触发的 E_NOTICE 和 E_USER_NOTICE 感兴趣restrictWarnings="true"
告诉 PHPUnit 你只对在你自己的代码中触发的 E_WARNING 和 E_USER_WARNING 感兴趣