Jacoco Maven无法识别公共班级分支机构

时间:2018-10-17 11:17:08

标签: unit-testing jacoco-maven-plugin

我在我的java maven项目上使用了jacoco覆盖率报告,但是它似乎无法识别公共功能上的分支

例如,如果我发送具有以下功能的文件:

public class CobrancaConverter {

    public CobrancaEntity convert(NFeCobrancaEntity cobranca, NfePK nfeKey) {
        if (cobranca == null) {
            return null;
        } else {
            DuplicatasConverter duplicatasConverter = new DuplicatasConverter();
            CobrancaEntity entity = new CobrancaEntity();
            entity.setY03Nfat(cobranca.getNfat());
            entity.setY04Vorig(cobranca.getvOrig());
            entity.setY05Vdesc(cobranca.getvDesc());
            entity.setY06Vliq(cobranca.getvLiq());
            entity.setKey(nfeKey);
            List<CobrancaDuplicataEntity> duplicatas = duplicatasConverter.convert(cobranca.getDuplicatas(), nfeKey);
            entity.setDuplicatas(duplicatas);
            return entity;
        }
    }
}

Jacoco无法将“ if”识别为分支,也不会将其计入涵盖的分支百分比,但是如果我创建一个这样的调用私有函数的公共函数,它将起作用。

public class CobrancaConverter {
    public CobrancaEntity converter(NFeCobrancaEntity cobranca, NfePK nfeKey){
        return convert(cobranca, nfeKey);
    }

    private CobrancaEntity convert(NFeCobrancaEntity cobranca, NfePK nfeKey) {
        if (cobranca == null) {
            return null;
        } else {
            DuplicatasConverter duplicatasConverter = new DuplicatasConverter();
            CobrancaEntity entity = new CobrancaEntity();
            entity.setY03Nfat(cobranca.getNfat());
            entity.setY04Vorig(cobranca.getvOrig());
            entity.setY05Vdesc(cobranca.getvDesc());
            entity.setY06Vliq(cobranca.getvLiq());
            entity.setKey(nfeKey);
            List<CobrancaDuplicataEntity> duplicatas = duplicatasConverter.convert(cobranca.getDuplicatas(), nfeKey);
            entity.setDuplicatas(duplicatas);
            return entity;
        }
    }
}

Jacoco不能认清这两种情况吗?我是在做错什么,这是预期的还是我应该报告的错误?

0 个答案:

没有答案