Mockito在后续调用void方法时的不同行为?

时间:2013-06-10 17:28:23

标签: java mockito

我有save()方法返回void

public void save( MyThing ) throws SaveFailureException { ... }

save()的调用具有处理异常的重试逻辑。我想通过模拟第一次调用save()来测试它,以便它抛出异常,第二次调用应该成功而没有异常。

Mockito 有一种处理非空方法的连续行为的好方法,例如:

when( mock.save() ).thenThrow( ... ).thenReturn( ... )

如何使用返回void的方法执行相同的操作?

1 个答案:

答案 0 :(得分:19)

你可以这样做:

doThrow(...).doNothing().when(mock).voidMethod();

(编辑:使用doNothing,如@Rogério所述