我在Ubuntu 14.04上使用php 5.5.9。我已将Xdebug升级到其向导推荐的版本,即版本2.2.6,并且我使用了apt-get来确保我的Ubuntu系统是最新的。但问题是,我的代码覆盖率报告的行在显然不是。
以下是违规行:
if(!$filter->isValid()) {
throw new Exception\InvalidInput($this->formatFilterErrors($filter));
}
我知道if语句中的条件代码没有被执行,因为过滤后的数据总是有效的。我可以通过在代码块中放置echo或die语句来证明这一点(在throw语句之上)并且它们永远不会被执行。
那么为什么代码覆盖率会告诉我throw语句正在被执行多次?
虽然我只有一个错误报告的例子,但我确实需要将其作为优先事项进行排序,因为我在此应用程序上进行了大量测试。我可以尝试升级PHP(但当然还有其他后果)。除此之外,我唯一的选择是与开发商一起筹集资金。
你遇到过这个bug吗?我听说其他人在Ubuntu 14.04上遇到Xdebug问题,但是升级Xdebug已经解决了他们的问题。