Class SpyAnnotationEngine

  • All Implemented Interfaces:
    AnnotationEngine

    public class SpyAnnotationEngine
    extends java.lang.Object
    implements AnnotationEngine
    Process fields annotated with @Spy.

    Will try transform the field in a spy as with Mockito.spy().

    If the field is not initialized, will try to initialize it, with a no-arg constructor.

    If the field is also annotated with the compatible @InjectMocks then the field will be ignored, The injection engine will handle this specific case.

    This engine will fail, if the field is also annotated with incompatible Mockito annotations.

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object createMockFor​(java.lang.annotation.Annotation annotation, java.lang.reflect.Field field)  
      void process​(java.lang.Class<?> context, java.lang.Object testInstance)
      Allows extending the interface to perform action on specific fields on the test class.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SpyAnnotationEngine

        public SpyAnnotationEngine()
    • Method Detail

      • createMockFor

        public java.lang.Object createMockFor​(java.lang.annotation.Annotation annotation,
                                              java.lang.reflect.Field field)
        Specified by:
        createMockFor in interface AnnotationEngine
        Parameters:
        annotation - Annotation
        field - Field details
      • process

        public void process​(java.lang.Class<?> context,
                            java.lang.Object testInstance)
        Description copied from interface: AnnotationEngine
        Allows extending the interface to perform action on specific fields on the test class.

        See the implementation of this method to figure out what is it for.

        Specified by:
        process in interface AnnotationEngine
        Parameters:
        context - Class where to extract field information, check implementation for details
        testInstance - Test instance