作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有以下功能:
function foo($p)
{
if ($p == null)
throw new Exception('bla');
if ($p == null)
{
throw new Exception('bla');
}
[...]
}
我对这个函数的测试没有覆盖抛出异常的行。但是 PHPUnit 告诉我第一个“抛出”语句被覆盖,第二个没有。也许第一个被解释,但没有被执行。
所以如果我还没有达到 100%,我不想收到消息“100%”。
这是 xDebug 中的错误还是我可以配置 xDebug/PHPUnit?
最佳答案
xDebug 的代码覆盖率指标是基于语句的,而不是基于行的。这意味着没有用大括号括起来的 block 的控制结构被视为单个语句。要让 xDebug 将 throw
行与 if()
测试分开,请像在第二个语句中那样用大括号括起来。
if ($p == null) // statement 1
throw new Exception('bla'); // rest of statement 1
对比
if ($p == null) { // statement 1
throw new Exception('bla'); // statement 2
}
关于php - xDebug 和 PHPUnit 的代码覆盖率说是 100%,实际上不是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9307774/
如果我有一个 UIImageView 并且想知道用户是否点击了图像。在 touchesBegan 中,我执行以下操作但总是以第一个条件结束。窗口处于纵向模式,图像位于底部。我可以点击窗口的右上角,仍然
我在 osx-mavericks 上遇到段错误:11 问题。 这个 SO 帖子:Segmentation fault: 11 in OS X说这可能是由 python 2.7.5 引起的 我试图将 p
我是一名优秀的程序员,十分优秀!