我有save()
方法返回void
:
public void save( MyThing ) throws SaveFailureException { ... }
对save()
的调用具有处理异常的重试逻辑。我想通过模拟第一次调用save()
来测试它,以便它抛出异常,第二次调用应该成功而没有异常。
Mockito 有一种处理非空方法的连续行为的好方法,例如:
when( mock.save() ).thenThrow( ... ).thenReturn( ... )
如何使用返回void的方法执行相同的操作?
答案 0 :(得分:19)
你可以这样做:
doThrow(...).doNothing().when(mock).voidMethod();
(编辑:使用doNothing
,如@Rogério所述