PHPUnit 弃用警告未通过测试

Rev*_*ell 3 php configuration phpunit exception deprecated

我在 PHP 5.3.29 安装上使用 PHPUnit 4.8。我们应用程序中的一些代码使用了弃用的mysql_*功能,PHPUnit 将这些实例的弃用通知转换为异常,从而使那些特定的测试用例失败。

现在我已经将 包含convertErrorsToExceptions="false"在 config.xml 中,但这似乎没有帮助,因为它仍在发生。

任何人都可以帮助阐明这里可能发生的事情吗?

干杯!

编辑:在gist.github.com上添加了示例文件

Lug*_*aue 6

如果您正在寻找 Symfony 3.1 及更高版本的解决方案,答案是

<env name="SYMFONY_DEPRECATIONS_HELPER" value="disabled" />
Run Code Online (Sandbox Code Playgroud)


Seb*_*ann 5

convertErrorsToExceptions="false"配置选项只控制的转换E_ERROR例外。但是,弃用表示为E_DEPRECATED

一个缺少配置选项来控制转换E_DEPRECATED例外。这将在 PHPUnit 6.2 中添加。这不会向后移植到 PHPUnit 4.8,即您正在使用的 PHPUnit 版本,因为该版本已达到其生命周期。

但是,在您的引导脚本中,您可以设置PHPUnit_Framework_Error_Deprecated::$enabled = false;,这将禁用E_DEPRECATED到异常的转换。

  • 我升级到 PHPUnit 6.5.14,如果有任何弃用通知,我仍然会收到退出代码 1... (2认同)