Class AnswersWithDelay

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

    public class AnswersWithDelay
    extends java.lang.Object
    implements Answer<java.lang.Object>, ValidableAnswer, java.io.Serializable
    Returns as the provided answer would return, after delaying the specified amount.

    The sleepyTime specifies how long, in milliseconds, to pause before returning the provided answer.

    Since:
    2.8.44
    See Also:
    AdditionalAnswers, Serialized Form
    • Field Detail

      • sleepyTime

        private final long sleepyTime
      • answer

        private final Answer<java.lang.Object> answer
    • Constructor Detail

      • AnswersWithDelay

        public AnswersWithDelay​(long sleepyTime,
                                Answer<java.lang.Object> answer)
    • 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
      • validateFor

        public void validateFor​(InvocationOnMock invocation)
        Description copied from interface: ValidableAnswer
        Validation of the answer at stub time for the given invocation.

        This method will be called by Mockito.

        The implementation must throw an MockitoException to indicate that this answer is not valid for the given invocation. If the validation succeed the implementation must simply return without throwing.

        Specified by:
        validateFor in interface ValidableAnswer
        Parameters:
        invocation - The stubbed invocation