在SonarQube

时间:2018-06-07 20:53:39

标签: unit-testing sonarqube code-coverage gcov

我是使用SonarQube的新手,我们最近将通过gcov生成的C ++代码覆盖率结果导入SonarQube,用于我们的一个项目,并且一直在线搜索如何解释仪表板上显示的代码覆盖率结果但是无法解决得到具体答案。请帮助解决以下问题 -

  1. 我们注意到,对于某些目录/文件,当没有单元测试时,COVERAGE报告为0.00%,而对于其他目录/ COEDAGE列只是空白。这些有什么区别?没有测试时我们应该看到什么 - 0.00%或空白值?

  2. 当一行代码被标记为“单元测试部分涵盖”时,这是什么意思?或者,是什么使一行代码被计为“完全由单元测试覆盖”?例如,在下面的代码中,第一行标记为完全覆盖,而第二行和第三行标记为部分覆盖。由于任何一行中都没有条件(if / else等),我们无法理解什么会使它们被计算为仅被部分覆盖。

  3. 我们注意到报告了包含单元测试的目录/文件的覆盖范围(例如,common / signals / signals-test / src)。这个报道是什么意思?是相关还是可以忽略?

  4. 代码:

    int chownPath(const std::string& path, uid_t owner, gid_t group, Logger* logger) {
        const char* const argv[] = {"chown", "-R", (to_string(owner) + ':' + to_string(group)).c_str(), path.c_str(), NULL};
        return run(argv, logger);
    }
    

0 个答案:

没有答案