JaCoCo内部分支机构覆盖范围

时间:2017-04-11 21:19:02

标签: code-coverage jacoco

我有代码剪断:

@Override
public Object put(String key, Object value) {
    checkNotNull(key);
    return map.put(key, value);
}

public static <T> T checkNotNull(T reference) {
    if (reference == null) {
        throw new NullPointerException();
    }
    return reference;
}

方法put没有分支,checkNotNull前置条件有2。 如果我将调用put("key", new Object());,我将全面覆盖分支机构。但在语义上put有2个分支 - 一个在方法本身,另一个在嵌套。

可以检索所有内部分支的“真实”分支覆盖范围吗?

1 个答案:

答案 0 :(得分:0)

我没有看到任何问题。 jacoco报告显示50%的分支覆盖率(参见“MyClass”或“checkNotNull()”)。请注意,复杂度为1的方法没有分支覆盖率。无论是否调用(“put”)方法(“notcalled”)。

enter image description here

enter image description here