【问题标题】:How to display Xcode code coverage when it's not displaying?不显示时如何显示 Xcode 代码覆盖率?
【发布时间】:2017-11-07 11:41:04
【问题描述】:

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

我尝试了以下方法:

  1. 在方案中启用 Gather 代码覆盖率。

  2. 为我的目标启用代码覆盖支持。

  3. 启用 Showcase 捆绑包选项。

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

【问题讨论】:

  • 您是否尝试在实际设备上运行它?这可能是一个错误。
  • 不,我在模拟器上运行。让我在设备上试试。
  • 尝试按照Apple's documentation提供的步骤进行操作。
  • 仍有问题,try this.

标签: ios xcode testing code-coverage


【解决方案1】:

9.3 版本中的问题解决,以获得代码覆盖目标 -> 测试 -> 选项 -> 代码覆盖参见图片:


【讨论】:

  • 有人知道如何从命令行设置这个“收集某些目标的覆盖率”吗?我只想要主应用程序的输出,而不是所有框架和扩展。
【解决方案2】:

如果您想在编辑器右侧查看代码覆盖率,请确保在编辑器下拉菜单中选择了显示代码覆盖率。 p>

【讨论】:

  • 在我的例子中是两个问题,这里解释和测试 -> 选项 -> 覆盖率
【解决方案3】:

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

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

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

【讨论】:

    【解决方案4】:

    我很确定他们只是将代码覆盖范围移动到了一个新位置。我现在将其视为报告导航器的一部分(请参见下面的屏幕截图)。

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

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

    【讨论】:

      【解决方案5】:

      如果你喜欢我,但在 Target -> Test 上没有看到 Option 选项卡(或任何选项卡),这意味着你需要将测试架构添加到你的应用程序中,否则你选择了错误的 Target。

      首先选择 Manage Schemes... 并查看是否有 yourTargetTest 以及是否选中。

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

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

      现在您将看到您的测试包并且可以选择和编辑它。您将看到Options 标签和Code Coverage,如已接受的答案中所述。

      【讨论】:

        【解决方案6】:

        当您不得不在 Edit Scheme (for Test Debug) 的 Info 选项卡中取消选择 Debugger 'Debug executable' 时的旧错误 - 似乎已解决,但 ARM M1 上有一个新错误,所以如果没有测试覆盖率显示 - 尝试为“我的 Mac”构建 (Rosetta)”,或者如果由于使用特定于平台的框架(如 UIKit)而失败,在我的“我的 Mac(Mac Catalyst,Rosetta)”的案例中。

        它会更慢,但它应该可以工作。

        【讨论】:

          猜你喜欢
          • 2015-09-24
          • 2013-11-21
          • 2022-06-19
          • 2017-05-31
          • 1970-01-01
          • 2012-01-18
          • 2016-09-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多