mockito,想要但没有被引用

时间:2017-06-16 10:42:07

标签: java junit mockito

我有问题。 我用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());

}

测试没有按照验证的顺序运行,而没有调用通知购买。

1 个答案:

答案 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

的示例