Mockito 如何 mock 返回值为 void 的方法

最初接触 Mockito 还思考并尝试过如何用它来 mock 返回值为 void 的方法,然而 Google 查找到的通常都会说用 doThrow() 的办法code

doThrow(new RuntimeException()).when(mockObject).methodWithVoidReturn();对象

由于没法使用常规的 when(mockObject.foo()).thenReturn(...) 的方法。get

当时我就纳闷,为什么我想 mock 一个返回值为 void 的方法,倒是在模拟抛出一个异常,如今想来若是一个返回值为 void 的方法,为什么要去 mock 这个方法呢?it

回想一个咱们要 mock 一个方法的意图是什么:io

  1. 在特定输入参数的状况下期待须要的输出结果(返回值)
  2. 在方法抛出某种类型异常调用者做出的反应

对于 void 返回值的方法,若是要验证有没有被调用过几回能够在过后用 verify() 方法去断言。因此基本上对于 void 返回值的方法通常可不用去 mock 它,只需用  verify() 去验证,或者就是像前面同样模拟出现异常时的状况。class

因此本文并不像是去直接回答标题所示的问题: Mockito 如何 mock  返回值为  void 的方法,而是如何应对 mock  对象的  void 方法 阅读全文 >>mock

相关文章
相关标签/搜索