cocoapods 库的代码覆盖率 - iOS 单元测试
Posted
技术标签:
【中文标题】cocoapods 库的代码覆盖率 - iOS 单元测试【英文标题】:Code coverage with cocoapods library - iOS Unit Test 【发布时间】:2016-10-18 07:23:45 【问题描述】:在 Xcode 7 中,cocoapods 库的库具有排除代码覆盖率。
但在 Xcode 8 中,该库将包含代码覆盖率。
我是否可以在代码覆盖范围内排除该库?
示例: 安装吊舱“TPKeyboardAvoiding” TPKeyboardAvoidingScrollView.m 包含在代码覆盖范围内。
【问题讨论】:
How to exclude Pods from Code Coverage in Xcode的可能重复 【参考方案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
以上是关于cocoapods 库的代码覆盖率 - iOS 单元测试的主要内容,如果未能解决你的问题,请参考以下文章