使用 Jacoco 逆向测试代码覆盖率的方法

2020-03-26  本文已影响0人  wqching

使用 Jacoco 逆向测试覆盖率的方法

准备工作

  1. Eclipse 中安装 Jacoco 插件(Eclipse 商城中搜索『Jacoco』进行安装)
  2. 一段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 进行调用关系分析

image.jpeg

运用 Jacoco 进行判断覆盖

输入参数因子如下

'' 路径条件
'' 01   
'' numB = 0
'' 02   
'' numB ≠ 0   numB = 1
'' 03   
'' numB ≠ 0  numB ≠ 1

测试结果

image.jpeg

三个条件因子,将路径全部覆盖完毕(绿色标识)

上一篇下一篇

猜你喜欢

热点阅读