cocoapods库的代码覆盖率 - iOS单元测试

时间:2016-10-18 07:23:46

标签: cocoapods code-coverage xcode8

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

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

我是否可以在代码覆盖率中排除库?

实施例: 安装pod'TPKeyboardAvoiding' TPKeyboardAvoidingScrollView.m包含在代码覆盖率中。

1 个答案:

答案 0 :(得分:3)

您应该禁用您不希望被覆盖的目标的代码覆盖率。如果您希望所有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等其他播客遇到同样的问题。有一个特定的设置(我还没有发现)它似乎覆盖CLANG_ENABLE_CODE_COVERAGE,测试仍然为此产生代码覆盖率。

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