使用 Jacoco 逆向测试覆盖率的方法
准备工作
- Eclipse 中安装 Jacoco 插件(Eclipse 商城中搜索『Jacoco』进行安装)
- 一段if判断逻辑代码
public int testIf(int numA, int numB) {
try {
int x = 10;
int y = 50;
while (numA-- > 0) {
if (numB == 0) {
x = y + 2;
} else if (numB == 1) {
x = y + 10;
} else {
x = y + 20;
}
}
System.out.println("The value is " + x);
return 0;
} catch (Exception e) {
return -1;
}
}
}
通过 ast 进行调用关系分析
运用 Jacoco 进行判断覆盖
输入参数因子如下
'' 路径条件
'' 01
'' numB = 0
'' 02
'' numB ≠ 0 numB = 1
'' 03
'' numB ≠ 0 numB ≠ 1
测试结果
三个条件因子,将路径全部覆盖完毕(绿色标识)