Xcode 7代码覆盖率 - 蓝色进度和灰色线条是什么意思?

时间:2015-07-07 07:17:14

标签: ios xcode unit-testing code-coverage xcode7

在我运行测试后的项目中,我进入了我的覆盖标签:

enter image description here

然后,当我点击distanceTitle()的灰色箭头时:

enter image description here

对于静态方法findLocationWithIdentifier()

enter image description here

对于非静态方法deliveryInfo()

enter image description here

现在的问题是:

    完全覆盖了
  1. DBLocation.distanceTitle(蓝色进度条已满了) - 这是否意味着该方法的覆盖率为100%?

  2. 当我在该方法中时,它会变灰,而在右侧则有数字 0 。这是什么意思?

  3. 为什么我的findLocationWithIdentifier方法是白色的,旁边的数字是 70 ?为什么这个函数没有变灰,因为它被称为70次?我错了吗?

  4. 静态方法怎么样?我在代码中调用它们,但这里的进度条为0%,代码中为白色。

  5. 这是什么意思?如何阅读以下内容:

    • 蓝色进度条
    • 灰色线条
    • 代码中的行旁边的数字
    • 为什么静态方法没有计算到覆盖值?

    对我来说,看起来这些值与进度条相反,而且计算错误。我是对还是不对?

    现在我向Apple报告了一个错误。

1 个答案:

答案 0 :(得分:0)

要回答问题2和3,Xcode使用颜色告诉您在运行测试时执行了哪些代码。 Xcode突出显示编辑器右侧的代码块。执行的代码是灰色的(它非常微弱),右侧的数字告诉你它执行的次数。未执行的代码以红色突出显示,提醒您它尚未执行。由于代码未执行,右侧的数字为0。

要回答问题1,蓝色进度条显示代码覆盖率的百分比。完全蓝色条表示100%覆盖率。您的屏幕截图是Xcode中出现问题/错误的症状。 coverage选项卡表示函数distanceTitle()具有100%的覆盖率,但在编辑器中,distanceTitle()以灰色突出显示。

我没有静态方法来测试代码覆盖率,因此我无法回答问题4。