如何显示 Swift 包中的代码覆盖率?

Aar*_*her 11 xcode code-coverage swift-package

在我的 M1 mac 上,使用 Xcode 13.3,我\xc2\xa0 创建了一个包并显示了代码覆盖率栏(编辑器菜单 \xe2\x80\x93> 代码覆盖率)。

\n

运行测试后,源代码中根本没有代码覆盖率的指示。

\n

测试包时如何获得代码覆盖率?

\n

mat*_*att 8

问题是您没有为库方案打开代码覆盖率。打开它:

在此输入图像描述

请参阅底部的复选框:代码覆盖率?选中该复选框。

现在运行包测试并收集覆盖率。根据我的经验,查看它的最佳方式实际上是在报表导航器中:

在此输入图像描述

编辑:在更现代的 Xcode(14.3 及更高版本)中,它更简单。测试默认使用测试计划,因此只需在测试计划中打开代码覆盖率:

在此输入图像描述

  • 这不再是一个有效的答案。 (2认同)
  • @BriannaDoubt我认为反对意见是“收集覆盖范围”复选框不再出现在新项目的方案编辑器中。确实如此;测试计划是当今唯一的选择。我鼓励 WikipediaBrown 添加更新的方法作为答案,但没有回应,所以我自己添加了它。 (2认同)

Pau*_*len 8

从(至少)Xcode 14 开始,以前的答案不再正确。对于 Swift 包,您需要在测试计划中启用此功能。

脚步:

  1. 显示测试导航器 ( CMD+ 6)
  2. 选择标题,在示例中:TestPlanExample然后选择“编辑测试计划”

选择编辑测试计划

  1. 选择“配置”选项卡并向下滚动到“代码覆盖率”
  2. 启用代码覆盖率并选择“所有目标”或选择您希望为其生成代码覆盖率的目标。 启用代码覆盖率
  3. 保存测试计划