public class Injector
extends java.lang.Object
Constructor and Description |
---|
Injector() |
Modifier and Type | Method and Description |
---|---|
private static void |
createMocksForAnnotations(java.lang.Class<?> hostClass,
java.lang.Object host,
InjectionPlan injectionPlan)
Create the mocks and find the fields annotated with
TestSubject |
private static java.util.List<java.lang.reflect.Field> |
fieldsOf(java.lang.Class<?> clazz) |
private static Injection |
findUniqueAssignable(java.util.List<Injection> injections,
InjectionTarget target) |
private static java.lang.reflect.Field |
getFieldByName(java.lang.Class<?> clazz,
java.lang.String fieldName) |
private static java.util.List<java.lang.reflect.Field> |
injectByName(java.lang.Class<?> clazz,
java.lang.Object obj,
java.util.List<Injection> qualifiedInjections) |
private static void |
injectByType(java.lang.Object obj,
java.util.List<java.lang.reflect.Field> fields,
java.util.List<Injection> injections) |
private static InjectionTarget |
injectionTargetWithField(java.lang.reflect.Field f) |
static void |
injectMocks(java.lang.Object host)
Inject a mock to every fields annotated with
Mock on the class passed
in parameter. |
private static void |
injectMocksOnClass(java.lang.Class<?> clazz,
java.lang.Object obj,
InjectionPlan injectionPlan)
Try to inject a mock to every fields in the class
|
private static MockType |
mockTypeFromAnnotation(Mock annotation) |
private static boolean |
shouldNotAssignTo(java.lang.reflect.Field f) |
public static void injectMocks(java.lang.Object host)
Mock
on the class passed
in parameter. Then, inject these mocks to the fields of every class annotated with TestSubject
.
The rules are
Note: If the parameter extends EasyMockSupport
, the mocks will be created using it to allow
replayAll/verifyAll
to work afterwards
host
- the object on which to inject mocksprivate static void createMocksForAnnotations(java.lang.Class<?> hostClass, java.lang.Object host, InjectionPlan injectionPlan)
TestSubject
hostClass
- class to searchhost
- object of the classinjectionPlan
- output parameter where the created mocks and fields to inject are addedprivate static void injectMocksOnClass(java.lang.Class<?> clazz, java.lang.Object obj, InjectionPlan injectionPlan)
clazz
- class where the fields are takenobj
- object being a instance of clazzinjectionPlan
- details of possible mocks for injectionprivate static java.util.List<java.lang.reflect.Field> injectByName(java.lang.Class<?> clazz, java.lang.Object obj, java.util.List<Injection> qualifiedInjections)
private static void injectByType(java.lang.Object obj, java.util.List<java.lang.reflect.Field> fields, java.util.List<Injection> injections)
private static java.util.List<java.lang.reflect.Field> fieldsOf(java.lang.Class<?> clazz)
private static java.lang.reflect.Field getFieldByName(java.lang.Class<?> clazz, java.lang.String fieldName)
private static InjectionTarget injectionTargetWithField(java.lang.reflect.Field f)
private static boolean shouldNotAssignTo(java.lang.reflect.Field f)
private static Injection findUniqueAssignable(java.util.List<Injection> injections, InjectionTarget target)