我正在测试一个类,它有一个可测试的方法(下面的方法本身)和一个返回值。使用mockito我遇到了一个问题。void方法roomdao.updatedata(outdata)有问题;
public IEntity getData(SimBasket<DataEntity, SimRequest> request) {
Entity outData = converterData.convertNetToDatabase(request);
roomDao.updateData(outData);
return outData;
}
这是我的测试代码:
@Test
public void getData() {
simRepo = new SimRepo();
Mockito.when(simRepo.getData(request)).thenReturn(new Entity());
}
错误日志:
org.mockito.exceptions.misusing.cannotstubvoidmethodwithreturnvalue:“updatedata”是一个void方法,不能用返回值来存根!voids通常是用throw(exception).when(mock).somevoidmethod()创建的;
我似乎不太明白如何解决这个问题,因为void方法在一个返回值的方法中。
1条答案
按热度按时间u3r8eeie1#
而不是
new SimRepo()
尝试使用mockito的mock方法来模拟它:更新:如果您还想计算此模拟方法调用的次数,请使用此: