How to mock void methods with Mockito

前端 未结 9 2113
情话喂你
情话喂你 2020-11-22 12:21

How to mock methods with void return type?

I implemented an observer pattern but I can\'t mock it with Mockito because I don\'t know how.

And I tried to fin

9条回答
  •  盖世英雄少女心
    2020-11-22 13:10

    Adding another answer to the bunch (no pun intended)...

    You do need to call the doAnswer method if you can't\don't want to use spy's. However, you don't necessarily need to roll your own Answer. There are several default implementations. Notably, CallsRealMethods.

    In practice, it looks something like this:

    doAnswer(new CallsRealMethods()).when(mock)
            .voidMethod(any(SomeParamClass.class));
    

    Or:

    doAnswer(Answers.CALLS_REAL_METHODS.get()).when(mock)
            .voidMethod(any(SomeParamClass.class));
    

提交回复
热议问题