我如何嘲笑一个void方法并替换该方法执行的内容?我想模拟该方法,以便进行螺纹。Sleep来模拟工作。
我尝试了
Mockito.doAnswer(new Answer<Void>(){
Void answer(InvocationOnMock invocation) {
Thread.sleep(1000);
return null;
}
}.when(Class).myVoidMethod((OtherClass) Mockito.any());
,但它抱怨说我不是正确嘲笑它,并给了我使用doexception或thththturn的示例。
来自Mockito Documentation
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