sonar平台页面简单介绍
n久前截的图.... 平台搭建了 但是还没有真正使用过 ORZ..
吐槽博客为啥粘个图片这么困难!好麻烦啊....
虽然Jenkins上使用的jacoco报告已经可以解决我们查看测试覆盖率的基础需求,但是推荐使用sonar来查看测试覆盖率,显示信息更清晰,还可以查看代码质量。
1质量阀
质量阀:是一系列对项目指标进行度量的条件。项目必须达到所有条件才能算整体上通过了质量阈。
点击导航栏中的质量阀按钮,可更改质量阀的标准
2安全度&可靠度
例如点击安全度,是以漏洞作为评判的指标,右侧显示有漏洞的Java类,详情可以查看sonar对这个漏洞的解释。
点击该Java类,可以查看该错误的具体代码。
3Bugs&漏洞
与上面的安全性&可靠性的内容一样,只是将bug与漏洞的数量进行了统计。
4坏味道
是指在代码之中潜在问题的警示信号。并非所有的坏味道所指示的确实是问题,但是对于大多数坏味道,均很有必要加以查看,并作出相应的修改。
债务:
每一个问题,sonar都会计算出更改这个问题需要花费的时间。
通过增加这些时间得出一个总的值称为债务。
5覆盖率
被测试覆盖的代码的比例。
点击“覆盖率”可以查看以列表、树、树图、历史这四种不同展示方式所显示的测试代码覆盖情况。
进入某个Java类,可以查看未被覆盖的代码。
红色代表测试未覆盖
绿色代表测试完全覆盖
彩色代表部分覆盖
6重复
进入重复页面可查看每个Java类重复比例与重复行
进入Java类中,橙色条代表重复的代码。
点击重复条可以查看与此类含有相同代码的Java类。
7 问题
导航栏处有问题选项,点击此按钮进入问题页面。
可以通过页面左侧的选项来筛选条件来准确查看问题。
进入某Java类后可以通过代码右上方的“更多操作”的“显示详情”来查看指标信息。
8指标
可查看各项指标细分的信息。
以覆盖率为例:
代码覆盖率是行覆盖率:
所有的class文件使用debug信息编译之后,就可以计算行的覆盖率信息。一行源代码是否被执行,要看这一行中是否至少有一个指令被执行。
分支覆盖率:
分支的覆盖率,包括所有的if和switch语句。这个度量计算一个方法里面的总分支数,确定执行和不执行的分支数量。分支覆盖率总是可用的,即使class文件里面没有调试信息。