问题描述
在嘲笑中遇到了AnswerWithDelay
的使用,从而在方法调用中引入了延迟。例如:
doAnswer(new AnswersWithDelay(100,new CallsRealMethods())).when(spyObject).methodName(someValue);
几乎没有疑问吗?
解决方法
请检查AnswersWithDelay源代码:
@Override
public Object answer(final InvocationOnMock invocation) throws Throwable {
TimeUnit.MILLISECONDS.sleep(sleepyTime);
return answer.answer(invocation);
}
- 它会睡一段指定的时间
- 比它返回答案
由于该类不是最终类,因此将其子类化并颠倒该顺序很简单。