忽略 PHPUnit 9 中的弃用通知?

bes*_*ant 5 testing phpunit laravel laravel-dusk

我使用 PHPUnit 9 运行测试,当我这样做时,assertRegExp我收到警告

assertRegExp() is deprecated and will be removed in PHPUnit 10. Refactor your code to use assertMatchesRegularExpression() instead.

Run Code Online (Sandbox Code Playgroud)

如何抑制特定测试的弃用警告?

注意:-我使用 Laravel Dusk 来运行我的测试,并使用测试助手assertPathIs

Ror*_*ory 2

通过阅读PHPUnit 作者的这篇博客文章,没有内置选项可以抑制这些警告:

PHPUnit 报告使用已弃用功能的测试并带有警告,因为我知道开发人员如何使用(或者不使用)PHP 的 E_DEPRECATED 消息。您无法选择不从 PHPUnit 获取此信息

使用默认配置,这不应将测试标记为失败:

默认情况下,当报告使用已弃用的功能时,PHPUnit 的命令行测试运行程序将以 shell 退出代码 0 退出。该 shell 退出代码用于指示没有发生错误。例如,持续集成环境使用此信息来确定构建是否成功。如果您希望构建因测试使用 PHPUnit 中已弃用的功能而失败,请在 phpunit.xml 中配置 failedOnWarning="true"。当使用已弃用的断言时,这指示 PHPUnit 以 shell 退出代码 1 退出。