org.mockito.internal.configuration.DefaultInjectionEngine Maven / Gradle / Ivy
/*
* Copyright (c) 2007 Mockito contributors
* This program is made available under the terms of the MIT License.
*/
package org.mockito.internal.configuration;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Set;
import org.mockito.exceptions.base.MockitoException;
import org.mockito.internal.util.MockUtil;
import org.mockito.internal.util.reflection.FieldSetter;
/**
* Initializes mock/spies dependencies for fields annotated with @InjectMocks
*
* See {@link org.mockito.MockitoAnnotations}
*/
public class DefaultInjectionEngine {
private final MockUtil mockUtil = new MockUtil();
// for each tested
// - for each field of tested
// - find mock candidate by type
// - if more than *one* find mock candidate on name
// - if one mock candidate then set mock
// - else don't fail, user will then provide dependencies
public void injectMocksOnFields(Set testClassFields, Set