上面的图片显示了我一个文件夹的SonarQube覆盖率,但如果你对该文件夹中所有文件百分比取平均值,得出的结果是49%,然而SonarQube将显示31.4%。如果不是通过平均值,SonarQube又是如何计算整体覆盖率的呢?对于所有的文件夹,即使是最顶层的文件夹也是如此。
总体覆盖率计算方法为:Coverage = (CT + CF + LC)/(2*B + EL) 其中 CT = 至少被评估为“true”的条件 CF = 至少被评估为“false”的条件 LC = 已覆盖的行数 = 行数 - 未覆盖的行数 B = 条件总数 EL = 可执行行数(行数) 更多细节请参见文档