Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mockito issue - when(java.lang.Void) in Stubber cannot be applied to void

I can't figure out why the doNothing isn't working for this? Any ideas?

@Captor ArgumentCaptor<GenericClass<someOtherClass>> captor; ... Mockito.doNothing().when(mockObject.methodToStub(captor.capture())); 

The error is:

Exception: when(java.lang.Void) in Stubber cannot be applied to void

like image 256
mstrom Avatar asked Aug 11 '14 18:08

mstrom


1 Answers

This stub is wrong :

doNothing().when(mockObject.methodToStub(captor.capture())); // wrong 

methodToStub(...) must be outside the when if using this API style (it should only contain the mock) :

doNothing().when(mockObject).methodToStub(captor.capture()); // correct 

Tho remarks however :

  1. doNothing is the default for void methods for a mock.
  2. You can use the BDDMockito aliases that enables your code to be real à la Behavior Driven Development
like image 98
Brice Avatar answered Oct 08 '22 18:10

Brice