为什么 PHPUnit 隐藏我的 xdebug 回溯?
我安装了 PHPUnit 和 xdebug,并且在 CLI 的 php.ini 文件中:我已经
display_errors = On
xdebug.default_enable = 1
验证,当我使用交互式控制台创建错误时,会打印 xdebug 回溯,但是当运行 phpunit 时发生错误时,没有回溯?
回溯发生了什么? phpunit 对我隐藏了吗?我缺少一些设置吗?
谢谢!
I have PHPUnit and xdebug installed, and in my php.ini files for CLI I've got:
display_errors = On
xdebug.default_enable = 1
I've verified that an xdebug backtrace is printed when I create an error using the interactive console, but when an error occurs while running phpunit, there is no backtrace?
What is happening to the backtrace? Is phpunit hiding it from me? Is there some setting I'm missing?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,PHPUnit 禁用 xdebug,至少禁用这些跟踪(通过调用
xdebug_disable()
文档)。您可以添加一个 bootstrap 文件,在其中使用
xdebug_enable()
文档。这确实有效,但也会向您显示抛出的任何异常(捕获或未捕获)的堆栈跟踪。另请参阅:Issue #221 PHPUnit 禁用 xdebug,建议使用另一个 ini 设置:
Yes, PHPUnit disables xdebug, at least these traces (by calling
xdebug_disable()
Docs).You can add a bootstrap file in which you enable it again with
xdebug_enable()
Docs. This does work but will show you stack traces on any exception thrown as well (caught or uncaught).See as well: Issue #221 PHPUnit disables xdebug, there is another ini setting suggested:
这是因为 phpunit 的单元测试是从控制台运行的,控制台是一个 CLI 应用程序。您应该能够使用以下命令运行它:
It's because unit tests with phpunit are run from the console, which is a CLI application. You should be able to run it with: