Java EclEmma覆盖工具是否执行节点、边、条件或路径覆盖?

Java EclEmma覆盖工具是否执行节点、边、条件或路径覆盖?,java,eclipse,code-coverage,eclemma,Java,Eclipse,Code Coverage,Eclemma,我有一个关于EclEmma覆盖工具的问题 EclEmma覆盖工具是否执行节点、边、条件或路径 新闻报道?说明 谢谢EclEmma-是一个基于Java代码覆盖率库的Eclipse插件,名为,它执行Java字节码分析。JaCoCo提供的覆盖范围计数器说明。正如您从中看到的,JaCoCo和EclEmma提供 说明覆盖范围 分支机构覆盖率 线路覆盖率 圈复杂度 我不知道你们称之为节点覆盖率,我猜你们称之为边缘覆盖率的是分支覆盖率 关于条件保险- 条件覆盖率可以通过两个测试来满足a=true,b=fa

我有一个关于EclEmma覆盖工具的问题

EclEmma覆盖工具是否执行节点、边、条件或路径 新闻报道?说明


谢谢

EclEmma-是一个基于Java代码覆盖率库的Eclipse插件,名为,它执行Java字节码分析。JaCoCo提供的覆盖范围计数器说明。正如您从中看到的,JaCoCo和EclEmma提供

  • 说明覆盖范围
  • 分支机构覆盖率
  • 线路覆盖率
  • 圈复杂度
我不知道你们称之为节点覆盖率,我猜你们称之为边缘覆盖率的是分支覆盖率

关于条件保险-

条件覆盖率可以通过两个测试来满足
a=true,b=false
a=false,b=true

在Java中,
&&
是一个短路运算符,这似乎有点奇怪-第二次测试不能触发“b”值的检索

关于路径覆盖-JaCoCo不提供,可以使用以下示例演示什么:

void fun(boolean a, boolean b) {
  if (a) { /* ... */ }
  if (b) { /* ... */ }
}
不计算异常通过此方法有4条路径。因此,对于完整路径覆盖,需要进行4项测试-
a=true,b=true
a=true,b=false
a=false,b=true
a=false,b=false
。然而,JaCoCo和EclEmma在两次测试后报告100%的覆盖率-
a=true,b=true
a=false,b=false

void fun(boolean a, boolean b) {
  if (a) { /* ... */ }
  if (b) { /* ... */ }
}