【问题标题】:Xcode 7 generating GCOVXcode 7 生成 GCOV
【发布时间】:2016-01-22 02:17:31
【问题描述】:

所以 Xcode 7 中的热门新功能是集成在 XCode 中的代码覆盖 - 耶!有了这个新功能,Apple 的新代码覆盖率格式.profdata 也随之而来。

我们需要在 Cobertura 报告中显示代码覆盖率报告(在 Jenkins 中加载)。目前无法将.profdata 转换为 Cobertura XML 报告 (it is on its way however)。

在那之前,我们需要依赖“旧”的 gcov。由于某些未知原因,XCode 7 生成 .gcno 和 .gcda,但是当您让 gcovr 创建 Cobertura 报告时,它显示所有文件的覆盖率为 0%(我们肯定有一些覆盖率)。

我们尝试返回到 XCode 6.4,生成的 gcov 文件在运行 gcovr 时显示正确的覆盖率。

有人遇到同样的问题吗?任何可能的解决方案?

【问题讨论】:

标签: code-coverage xcode7 gcov gcovr


【解决方案1】:

gcovr 应该从 .gcda 和 .gcno 文件所在的文件夹中执行。根路径是源文件(.c 或 .cpp)所在的文件夹。

这样,命令看起来如下所示。

rr-mac:gcdaFolder$ gcovr -r /path_to_C_sourceFiles/ .

对于输出 html 文件下面的命令有效

rr-mac:gcdaFolder$ gcovr --html -o Filename_rp.html -r /path_to_C_sourceFiles/ .

注意:末尾的点(.)是强制性的

【讨论】:

    【解决方案2】:

    在目标的构建设置中设置下一个值:

    Generate Legacy Test Coverage Data = YES
    Instrument Program Flow = YES
    Enable Code Coverage Support = NO
    

    【讨论】:

    • 你为什么不加解释地拒绝投票?它对我有用。
    猜你喜欢
    • 2012-04-18
    • 2015-02-01
    • 1970-01-01
    • 2016-08-25
    • 2015-09-11
    • 2015-01-30
    • 2011-04-12
    • 1970-01-01
    相关资源
    最近更新 更多