延迟模拟 void 方法
Mock a void method with a delay
如何模拟 void 方法并替换该方法执行的内容?我想模拟该方法,以便它执行 thread.sleep 来模拟工作。
我试过了
Mockito.doAnswer(new Answer<Void>(){
Void answer(InvocationOnMock invocation) {
Thread.sleep(1000);
return null;
}
}.when(Class).myVoidMethod((OtherClass) Mockito.any());
但它抱怨我没有正确地嘲笑它,并给我提供了使用 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
如何模拟 void 方法并替换该方法执行的内容?我想模拟该方法,以便它执行 thread.sleep 来模拟工作。
我试过了
Mockito.doAnswer(new Answer<Void>(){
Void answer(InvocationOnMock invocation) {
Thread.sleep(1000);
return null;
}
}.when(Class).myVoidMethod((OtherClass) Mockito.any());
但它抱怨我没有正确地嘲笑它,并给我提供了使用 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