覆盖率计数器
Jacoco使用一系列的不同的计数器来做覆盖率的度量计算。所有这些计数器都是从java的class文件中获取信息,这些class文件可以(可选)包含调试的信息在里面。即使在没有源码的情况下,这种方法也可以实时有效地对应用程序进行度量和分析。在大部分情况下,收集到的信息可以映射到源码,可视化到每一行代码的粒度。但这种方法还是有一些限制。这些class文件必须使用调试信息来编译,这样才可以计算行的覆盖率和提供出源码的高亮。但不是所有的JAVA语言的结构都可以直接编译成一致的二进制代码。在这种情况下,java 编译器会创建所谓的“合成”代码,会导致产生一些不期望得到的覆盖率结果。

JaCoCo通过不同的计数器测量覆盖率,包括指令、分支、圈复杂度、行和方法。即使没有源代码,也能基于class文件进行度量。指令是最小计数单位,分支覆盖率独立于源码,圈复杂度衡量方法的复杂性。行覆盖率依赖调试信息,方法和类覆盖率关注执行情况。JaCoCo不会将异常处理纳入分支计算。
最低0.47元/天 解锁文章
1219

被折叠的 条评论
为什么被折叠?



