不显示Xcode9代码覆盖率

时间:2017-11-07 11:41:04

标签: ios ios-simulator code-coverage ios11 xcode9

我一直在尝试使用 Xcode 9 来获取项目的代码覆盖率。所有测试用例都成功运行,但未在“代码覆盖率”选项卡下生成代码覆盖率报告。

我尝试了以下事项:

  1. 启用方案中的Gather代码覆盖率。
  2. 为我的目标启用代码覆盖率支持。
  3. 启用Show case bundle选项。

    是否需要额外的设置来检查代码覆盖率报告?或者我应该错过什么?提前致谢。

5 个答案:

答案 0 :(得分:23)

在9.3版中解决问题,获取代码覆盖率Target - >测试 - >选项 - > CodeCoverage查看图片:

image

答案 1 :(得分:11)

Apple方面存在已知错误,解决了UI测试目标(https://openradar.appspot.com/24006783)的错过代码覆盖率。

只要在测试架构中未启用Debug executable版本9.3 beta(9Q98q)似乎就会解决问题。

在Xcode构建方案编辑器Test -> Info tab -> Debugger中,确保未选中复选框Debug executable

以下是Bugreport#24006783的一个示例项目:https://github.com/vgorloff/Radar24006783

答案 2 :(得分:11)

如果要在编辑器的右侧查看代码覆盖率,请确保在 Editor 下拉菜单中选择了 Show Code Coverage

>

Show Code Coverage

答案 3 :(得分:6)

我很确定他们只是将代码覆盖范围移到了新位置。我现在在报表导航器中看到了它(请参见下面的屏幕截图)。

要到达那里,请首先打开代码覆盖率支持(编辑方案->测试->选项->选中代码覆盖率框),然后在导航器的xcode左侧查看。在顶部,您将看到一堆图标。单击右侧的最后一个(它看起来像一个消息气泡)。

在该选项卡中,您将看到您运行的所有测试。每个测试中都有一个“覆盖”项。单击其中一项以获取该特定测试的覆盖率报告。

xcode window

答案 4 :(得分:0)

如果您喜欢我,但是在架构中未在Target-> Test上看到Option标签(或任何标签),则意味着您需要向应用中添加测试架构,或者选择错误的Target。

首先选择Manage Schemes ...,然后查看您是否拥有TargetTest以及是否已选中。

Manage Schemes...

第二,添加(小+按钮)并选择您的测试目标。

enter image description here

顺便说一句,如果您没有测试包,请首先将其添加到边界列表中。

enter image description here 现在,您将看到测试包,并可以选择和编辑它。然后您会看到Options标签和Code Coverage,如接受的答案所述。