【问题标题】:Code coverage with cocoapods library - iOS Unit Testcocoapods 库的代码覆盖率 - iOS 单元测试
【发布时间】:2023-03-23 07:44:01
【问题描述】:

在 Xcode 7 中,cocoapods 库的库具有排除代码覆盖率。

但在 Xcode 8 中,该库将包含代码覆盖率。

我是否可以在代码覆盖范围内排除该库?

示例: 安装吊舱“TPKeyboardAvoiding” TPKeyboardAvoidingScrollView.m 包含在代码覆盖范围内。

【问题讨论】:

标签: cocoapods code-coverage xcode8


【解决方案1】:

您应该为不想被覆盖的目标禁用代码覆盖。如果您希望您的所有 pod 不包含在代码覆盖范围内,您可以添加到您的 podfile 中

#   Disable Code Coverage for Pods projects
post_install do |installer_representation|
   installer_representation.pods_project.targets.each do |target|
       target.build_configurations.each do |config|
            config.build_settings['CLANG_ENABLE_CODE_COVERAGE'] = 'NO'
       end
   end
end

这将禁用您的 Pod 目标的代码覆盖率,例如 this image

如果您现在使用command + U 运行测试

我在我的一个项目中尝试使用这个 pod,它对我有用。我正在使用 Xcode 版本 8.1 (8B62)

无论如何,对于像 Cartography 这样的其他 pod,我仍在努力解决同样的问题。有一个特定的设置(我还没有发现)它似乎覆盖了CLANG_ENABLE_CODE_COVERAGE,并且测试仍然为此生成代码覆盖率。

如果这能解决您的问题,请告诉我。

【讨论】:

  • 看起来 pod 是否在 Swift 中 - 它不会被隐藏,只有 ObjC pod 被隐藏
  • 别忘了运行pod install
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-18
  • 2010-10-14
  • 2023-04-07
  • 1970-01-01
  • 2013-04-16
相关资源
最近更新 更多