Java Mockito在后续调用void方法时会有不同的行为吗?
我有一个Java Mockito在后续调用void方法时会有不同的行为吗?,java,mockito,Java,Mockito,我有一个save()方法返回void: public void save( MyThing ) throws SaveFailureException { ... } 对save()的调用具有处理异常的重试逻辑。我想通过模拟对save()的第一个调用来测试它,这样它就会抛出一个异常,第二个调用应该会成功,不会出现异常 Mockito有一个很好的方法来处理非void方法的连续行为,例如: when( mock.save() ).thenThrow( ... ).thenReturn( ... )
save()
方法返回void
:
public void save( MyThing ) throws SaveFailureException { ... }
对save()
的调用具有处理异常的重试逻辑。我想通过模拟对save()
的第一个调用来测试它,这样它就会抛出一个异常,第二个调用应该会成功,不会出现异常
Mockito有一个很好的方法来处理非void方法的连续行为,例如:
when( mock.save() ).thenThrow( ... ).thenReturn( ... )
如何对返回void的方法执行相同的操作 您可以这样做:
doThrow(...).doNothing().when(mock).voidMethod();
(编辑:使用@Rogério提到的
doNothing
)你的意思是:doThrow(…).doReturn(…)
?它应该是doThrow(…).*doNothing()*。when(mock)。voidMethod()
。不错,我不知道doNothing()
!