private void standardInject(Object testInstance) throws IllegalAccessException { Set<Field> fields = Whitebox.getFieldsAnnotatedWith(testInstance, getMockAnnotations()); for (Field field : fields) { if (field.get(testInstance) != null) { continue; } final Class<?> type = field.getType(); if (field.isAnnotationPresent(org.powermock.core.classloader.annotations.Mock.class)) { org.powermock.core.classloader.annotations.Mock annotation = field .getAnnotation(org.powermock.core.classloader.annotations.Mock.class); final String[] value = annotation.value(); if (value.length != 1 || !"".equals(value[0])) { System.err .println("PowerMockito deprecation: Use PowerMockito.spy(..) for partial mocking instead. A standard mock will be created instead."); } } field.set(testInstance, mock(type)); } }
@SuppressWarnings("unchecked") public Class<? extends Annotation>[] getMockAnnotations() { return new Class[] { org.mockito.Mock.class, Mock.class, org.powermock.core.classloader.annotations.Mock.class }; }
public Object process(Mock annotation, Field field) { return Mockito.mock(field.getType(), field.getName()); }