21

我有一个save()返回的方法void

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

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

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

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

我怎样才能对返回 void 的方法做同样的事情?

4

1 回答 1

25

你可以这样做:

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

(编辑:使用doNothing,@Rogério 提到)

于 2013-06-10T17:31:58.223 回答