xccov工具仅针对覆盖的代码行生成单元测试覆盖率报告。因此,如果exam​​ple.swift文件有20行,而单元测试覆盖10行,则覆盖率为50%。

Karma(用于Angular 2开发)creates report不仅用于覆盖的代码行,而且还用于语句,分支和函数。

是否可以配置xccov,或者在iOS开发中有类似的工具可以实现此功能?谢谢!

最佳答案

Xccov不会生成任何coverage数据。 Xccov可以从工具xcodebuild中读取覆盖率报告:

  • 要获取覆盖率数据,您应该选择在测试方案中收集覆盖率数据:
    ios - iOS单元测试范围- Sonar 报告-xccov-LMLPHP
  • 在CI脚本中,可以添加标志-resultBundlePath以选择将保存coverage数据的文件夹。
  • 然后,您可以使用xccov获取以下信息:
  • xccov view --only-targets report.xccovreport的总体目标覆盖范围
  • 文件覆盖范围xccov view --files-for-target target_name report.xccovreport
  • 每个功能的覆盖范围xccov view --func-tions-for-file name_or_path report.xccovreport
  • 原始覆盖率数据逐行xccov view --file file_name report.xccovarchive

  • ios - iOS单元测试范围- Sonar 报告-xccov-LMLPHP
  • 您可以使用--json标志按脚本分析结果。

  • 有关xccov的更多信息,您可以阅读man xccov或观看WWDC session What's New in Testing

    因此,xccov提供了开箱即用的功能统计信息。如果您想要更多。例如,您可以使用SourceKit和xccov数据自行创建语句和分支的统计信息。 SourceKit可以提供有关AST的源代码以及语句位于何处的信息。通过该位置,您可以通过xccov报告匹配有关覆盖率的信息。

    关于ios - iOS单元测试范围- Sonar 报告-xccov,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56649469/

    10-10 09:34