java - mockito 不验证我的方法是否被调用

标签 java mockito junit4

我的测试类中有以下两条语句

    Mockito.verify(customvalueProcessorFactory, times(1)).get(customvalueKey, userId);
    when(customvalueProcessorFactory.get(customvalueKey, userId)).thenReturn(customvalueProcessor);

第二个工作正常并返回传递的值,我稍后在测试中使用该值。但第一个会引发如下错误:

-> at <my-path>.MessageProcessorUnitTest.expectCustomvalueProcessorFactoryGetCalledWillReturn(MessageProcessorUnitTest.java:194)
Actually, there were zero interactions with this mock.

可能出了什么问题?

最佳答案

mockito中的一般使用模式是:

when(mock.doSomething()).then ...

doTheThingYouAreTesting();

verify(mock).doSomething();

您似乎首先获得了验证。尝试更改您的代码以遵循上面的模式。

关于java - mockito 不验证我的方法是否被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49467401/

相关文章:

Spring Test Junit 5 & Security boot 2.2 如何模拟认证?

java - 静态或非静态方法中的 JUnit 测试数据

java - 为什么在没有定义静态的情况下出现非静态引用错误?

java - 在一个参数化类(junit)中创建多个参数集

java - ActiveMQ 消费者级别超时

java - 如何检查带有类名的第二个元素并单击它(如果它存在于 Selenium Java 中)

java - 如何在 JUnit 中测试 IO 代码?

java - libgdxcamera.rotateAround后的固定点

java - 用于测试我的 API 客户端的 JUnit 测试不工作, "Error: Test Engine with ID ' junit-jupiter' 无法执行测试”

java.lang.OutOfMemory错误: Java heap space (JUnit test)