java - stream() method is not working with Mockito spy -


code below:

 list<object> list = spy(new linkedlist<>());  list.stream().map(item -> item); 

is not working, causing exception during test:

cannot call real method on java interface. interface not have implementation! calling real methods possible when mocking concrete classes.   //correct example:   when(mockofconcreteclass.dostuff()).thencallrealmethod(); 

however, calling size() working okay. wrong stream() method? using mockito 1.8.4 ver.

the method java.util.list.stream() default method in java.util.collection. mockito versions older 1.10.5 (maybe 1.10.0) cannot handle default methods (it's missing java.lang.reflect.method.isdefault() check , maybe spy-specifics dealing such methods).

i've verified works mockito 1.10.19, recommend upgrading when writing code in java 8.


Comments