我有问题。 我用mockito创建对象。然后我对方法进行验证,在运行测试时,它给出了我想要但未调用的错误。并且该服务保持为()。
@Test
public void recordTest() throws IOException, URISyntaxException
{
URL resourceUrl = getClass().getResource(F1);
Path resourcePath = Paths.get(resourceUrl.toURI());
Object object = new Object ();
when(objectServiceMock.getObjectByNem((Nem) anyObject())).thenReturn(object);
Page<HorvarATPF> pageHorvar = new Page<HorvarATPF>();
when(horvarATPFServiceMock.getHorvarATPFs((FilterHorvarATPF) anyObject())).thenReturn(pageHorvar);
horvarATUtilService.record(resourcePath.toFile());
verify(objectServiceMock, times(1596)).getObjectByNem((Nem) anyObject());
}
测试没有按照验证的顺序运行,而没有调用通知购买。
答案 0 :(得分:3)
问题是
verify(objectServiceMock, times(1596)).getObjectByNem((Nem) anyObject())
Mockito希望您将此方法称为1596次。
但你声明只召唤一次。
when(objectServiceMock.getObjectByNem((Nem) anyObject()).
要修复测试,只需添加
verify(objectServiceMock).getObjectByNem((Nem) anyObject());
或
verify(objectServiceMock, times(1)).getObjectByNem((Nem) anyObject())
以下是mockito文档Verifying exact number of invocations / at least x / never
的示例