Class ReturnsDeepStubs

  • All Implemented Interfaces:
    java.io.Serializable, Answer<java.lang.Object>

    public class ReturnsDeepStubs
    extends java.lang.Object
    implements Answer<java.lang.Object>, java.io.Serializable
    Returning deep stub implementation. Will return previously created mock if the invocation matches.

    Supports nested generic information, with this answer you can write code like this :

    
         interface GenericsNest<K extends Comparable<K> & Cloneable> extends Map<K, Set<Number>> {}
    
         GenericsNest<?> mock = mock(GenericsNest.class, new ReturnsGenericDeepStubs());
         Number number = mock.entrySet().iterator().next().getValue().iterator().next();
     

    See Also:
    Mockito.RETURNS_DEEP_STUBS, Answers.RETURNS_DEEP_STUBS, Serialized Form
    • Constructor Detail

      • ReturnsDeepStubs

        public ReturnsDeepStubs()
    • Method Detail

      • answer

        public java.lang.Object answer​(InvocationOnMock invocation)
                                throws java.lang.Throwable
        Specified by:
        answer in interface Answer<java.lang.Object>
        Parameters:
        invocation - the invocation on the mock.
        Returns:
        the value to be returned
        Throws:
        java.lang.Throwable - the throwable to be thrown
      • actualParameterizedType

        protected GenericMetadataSupport actualParameterizedType​(java.lang.Object mock)