Class SpyAnnotationEngine

  extended by org.mockito.internal.configuration.SpyAnnotationEngine
All Implemented Interfaces:

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.

Constructor Summary
Method Summary
 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


public SpyAnnotationEngine()
Method Detail


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


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
context - Class where to extract field information, check implementation for details
testInstance - Test instance