1

我正在使用 coveralls.io 服务来显示我的 C++ 项目的线路覆盖率。我也想跟踪分支覆盖率,但无法让它工作。

在 Travis CI 上,我使用这个调用来生成覆盖率报告:

coveralls -r <my_project_root> -b <my_build_dir> --verbose --gcov=gcov --gcov-options '\-lpbc';

工作服脚本以前安装有pip

pip install cpp-coveralls urllib3[secure]

我在 coveralls.io 上正确显示了线路覆盖率,但没有得到分支覆盖率。我不知道我做错了以下哪些事情。

  • 我必须在 coveralls.io 上明确激活它吗?
  • coveralls命令有问题吗?
  • 甚至可以coveralls.io显示分支覆盖率?
4

1 回答 1

1

派对迟到了,但要回答你的问题:

是的,您需要为 BRANCH COVERAGE 启用工作服设置:包括在 AGGREGATE % 中:

工作服设置 - 分支覆盖

当然,这仅在您的原始覆盖率报告中包含分支覆盖率时才有效。

这发生在前面的步骤中,当您将原始项目编译为源代码的“仪器化”版本并生成 GCOV 覆盖率报告时,然后使用coveralls命令将覆盖率报告发布到 Coveralls。

就像是:


    gcc -Wall -ftest-coverage -fprofile-arcs cov.c
    gcov --branch-probabilities cov.c

来源:gcov Wiki - 示例

于 2021-05-14T01:26:36.170 回答