SonarQube 是如何计算整体覆盖率的?

How does SonarQube calculate the overall coverage?

上图显示了我的一个文件夹的 SonarQube 覆盖率,但如果您对该文件夹中的所有文件的百分比取平均值,它将达到 49%,而 SonarQube 将显示 31.4%。如果不取平均值,SonarQube 如何计算整体覆盖率?所有文件夹都是如此,即使是最上面的文件夹也是如此。

总体覆盖率计算如下

Coverage = (CT + CF + LC)/(2*B + EL)

哪里

CT = 条件被评估为 'true' 至少一次
CF = 至少一次
被评估为 'false' 的条件 LC = 覆盖线 = lines_to_cover - uncovered_lines

B = 条件总数
EL = 可执行行总数 (lines_to_cover)

可以在 documentation

中找到更多详细信息