我一直在为我的 PHP 代码编写单元测试。PHPUnit 是我正在使用的。
我有一些课程效果很好,直到...
我将 XDebug 加入其中。
那时,PHPUnit 不会崩溃或发生任何事情,但 setExpectedException 永远不会触发。
事实上,代码永远不会超出这一点。
任何人都遇到过这个并知道解决方案是什么?
编辑:这是 PHP5.2.6,XUnit 和 XDebug 的最新版本。这是在 linux fedora 7 上
我之前在使用 Xdebug 和 PHPUnit 的组合时遇到过一些问题(就像其他人一样,来自我当时在devzone.zend.com上发表的一份报告),但那是不久前的事了。PHPUnit 确实明确支持 Xdebug - 我正在使用它为我自己的系统生成代码覆盖率报告。
我建议使用相当标准的调试技术,更新任何版本(甚至可能是 PHP?)注释掉 @setExpectedException,或者明确地抛出它——当然,确保你有完整的警告和错误显示在error_reporting(E_ALL|E_STRICT);
set on .
不要忘记停止并重新启动 Apache 服务器以确保 Xdebug 模块也已加载。