gpt4 book ai didi

java - 模拟带有延迟的 void 方法

转载 作者:太空宇宙 更新时间:2023-11-04 13:54:29 25 4
gpt4 key购买 nike

如何模拟 void 方法并替换该方法执行的内容?我想模拟该方法,以便它执行 thread.sleep 来模拟工作。

我已经尝试过

Mockito.doAnswer(new Answer<Void>(){
Void answer(InvocationOnMock invocation) {
Thread.sleep(1000);
return null;
}
}.when(Class).myVoidMethod((OtherClass) Mockito.any());

但它提示我没有正确地 mock 它,并给了我使用 doException 或 thenReturn 的示例。

最佳答案

来自 Mockito 文档

      stubVoid(mock)
.toAnswer(new Answer() {
public Object answer(InvocationOnMOck invocation) {
Visitor v = (Visitor) invocation.getArguments()[0];
v.visitMock(invocation.getMock());

return null;
}
})
.on().accept(any());

答案将被执行

http://docs.mockito.googlecode.com/hg/1.9.5/org/mockito/stubbing/VoidMethodStubbable.html

关于java - 模拟带有延迟的 void 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29980906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com