java - mockito,需要但未调用

标签 java junit mockito

我有一个问题。 我用mockito创建对象。然后我验证了该方法,在运行测试时,它给出了 Wanted 但未调用的错误。并且该服务保持为 ()。

@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());

}

测试未按照验证运行,未调用旺旺购买。

最佳答案

问题是

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

关于java - mockito,需要但未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44587256/

相关文章:

java - 模拟辅助方法的返回值

java - Java 的数据库迁移模式?

java - EJB 中的多线程

java - 在 JUnit 中模拟 Git 仓库

android - 在 Meteor 上进行 Junit 测试,Android-DDP 库

java - 如何在不实现 stub 类的情况下使用 Mockito 为接口(interface)生成 spy ?

java - Ubuntu 10.04 上的 Tomcat6 和审核对象

java - 用于在 Java 中获取唯一的集合元素对的习惯用法

java - 如何让测试中的设置方法(使用@Before)不回滚,即使您将测试方法(使用@Test)设置为回滚?

spring - 在 Spring Boot 应用程序中运行 JUnit 单元测试而不提供数据源