我在代码中添加了两个条件:
n 代码if
被正确覆盖,但是我无法覆盖该else if
部分
public Optional < Flavors > callIcecream() {
try {
if (icecream == 1) {
//do something
return Optional.of(someString)
} else if (icecream > 1) {
//do something else
log.error("");
}
return empty();
} catch (Exception e) {
throw new IceCreamException()
}
}
我在下面添加了突变覆盖的代码
@Test
void getIcreamValues(){
when(abc.buyIcream(Mockito.anyString())).thenReturn(getIcream(1));
final Optional<Falvors>icecreamInfo = xyz.callIcecream();
assertThat(icecreamInfo).isPresent();
}
@Test
void getIcreamValues(){
when(abc.buyIcream(Mockito.anyString())).thenReturn(getIcream(0));
final Optional<Falvors>icecreamInfo = xyz.callIcecream();
assertThat(icecreamInfo).isEmpty();
}
@Test
void getIcreamValues(){
when(abc.buyIcream(Mockito.anyString())).thenReturn(getIcream(2));
final Optional<Falvors>icecreamInfo = xyz.callIcecream();
assertThat(icecreamInfo).isPresent();
}