iOS单元测试范围-声纳报告-xccov

时间:2019-06-18 12:43:28

标签: ios xcode unit-testing sonarqube

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

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

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

1 个答案:

答案 0 :(得分:-1)

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

  1. 要获取覆盖率数据,您应该选择在测试方案中收集覆盖率数据: edit_scheme

  2. 在您的CI脚本中,可以添加标志-resultBundlePath以选择将覆盖数据保存的文件夹。

  3. 然后,您可以使用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

result

  1. 您可以使用--json标志来按脚本分析结果。

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

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