使用Jacoco进行分支覆盖

时间:2017-11-10 00:55:22

标签: intellij-idea junit jacoco qa period

当yearsToSubtract的值为Long.MIN_VALUE时,我遇到了遇到yearsToSubtract == Long.MIN_VALUE分支的问题。

public Period minusYears(long yearsToSubtract) {
    return (yearsToSubtract == Long.MIN_VALUE ?plusYears(Long.MAX_VALUE).plusYears(1) : plusYears(-yearsToSubtract));
}

public Period plusYears(long yearsToAdd) {
     if (yearsToAdd == 0) {
        return this;
    }
    return create(Math.toIntExact(Math.addExact(years, yearsToAdd)), months, days);
}

这是我的plusYears函数,我的create函数只是一个getter函数,它设置了years,Months和Days的值

当myToSubtract的值为Long.MIN_VALUE

时,这是我覆盖分支的测试用例
   @Test
    public void testIfMinusYears() {

    Period p = Period.of(1, 1, 1);


    try {
        p.minusYears(Long.MIN_VALUE);
    } catch (ArithmeticException e) {

    }
}

这是我的测试用例,当yearsToSubtract是一个不等于Long.MIN_VALUE

的值时,点击另一个分支
    @Test
public void testMinusYears() {
    Period p = Period.of(0, 0, 0);

    p.minusYears(-100);

}

of(years,Months,days)是一个设置年,月和日的值的函数

On Android 8.1 API 27 notification does not display

有人可以告诉我如何点击那个分支,这是我班上的作业,我已经尝试了所有可能的方法,但是无法弄清楚如何击中那个分支。

由于

0 个答案:

没有答案