如何为 void 返回方法定义 AnswersWithDelay

Kon*_*rad 2 java unit-testing mockito

因此,我想在 Mockito 中模仿一种正在进行网络调用并等待其完成然后返回的方法。我在这里找到了这个很好的答案:/sf/answers/3537118301/建议使用AnswersWithDelay.

问题是,我很难为返回 void 的方法定义方法的行为。AnswersWithDelays构造函数需要一个类型的参数Answer<Object>,但我无法找到如何将其设置为 void。有什么线索吗?

JB *_*zet 13

首先,AnswersWithDelay是Mockito的内部类。所以你不应该直接使用它。此类的实例应该使用公共AdditionalAnswers类中的工厂方法来创建。

所以你需要的是

doAnswer(AdditionalAnswers.answersWithDelay(delay, invocation -> null)).when(mockObject).doSomething();
Run Code Online (Sandbox Code Playgroud)