Why does PHPUnit hide my xdebug backtrace?

為{幸葍}努か 提交于 2019-11-28 11:41:23

What is happening to the backtrace? Is phpunit hiding it from me?

Yes, PHPUnit disables xdebug, at least these traces (by calling xdebug_disable()Docs).

Is there some setting I'm missing?

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:

sebastianbergmann: The problem is the xdebug.show_exception_trace configuration setting. When set to 1, this will "show a stack trace whenever an exception is raised - even if this exception is actually caught.". This behaviour breaks the output of PHPUnit.

Now if I remember correctly, Derick recommended using xdebug_disable(); over ini_set('xdebug.show_exception_trace', 0);.

Derick

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:

php -dhtml_errors=1 `which phpunit` yourteststuff.
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!