从Xcode 7

时间:2015-09-22 01:26:49

标签: xcode unit-testing xcode7

我在Xcode 7.0和Objective C(like this)中启用了代码覆盖率统计信息,并且运行良好。

是否可以标记一些源代码行,以便覆盖率报告忽略它们?如果我使用的是lcov,那么我可以使用LCOV_EXCL_STARTLCOV_EXCL_END标记(如How to tell lcov to ignore lines in the source files中所述),但Xcode不会识别这些标记。

Xcode是否有替代机制来执行此操作?

1 个答案:

答案 0 :(得分:1)

Xcode7及更高版本(based on some forum posts),覆盖系统使用LLVM的覆盖生成和报告机制,其格式详见http://llvm.org/docs/CoverageMappingFormat.html。从Xcode 9开始,此格式不支持支持任何排除行(或其他结构)的方法。

结果映射由llvm-cov导出为可消费格式(txt或html),这在排除机制方面也没有太大作用。 llvm-cov 有一些简单的阈值,仅用于报告"大于"或者"小于"对于线条和区域的覆盖范围,但我怀疑基于上述问题并不完全是你所追求的。