org.mockito.plugins.AnnotationEngine Maven / Gradle / Ivy
Show all versions of mockito-core Show documentation
/*
* Copyright (c) 2007 Mockito contributors
* This program is made available under the terms of the MIT License.
*/
package org.mockito.plugins;
/**
* Configures test via annotations.
*
* Mockito default engine handles the logic behind @Mock, @Captor, @Spy and @InjectMocks annotations.
*
*
This interface is an extension point that make possible to use a different annotation engine allowing to extend
* or replace mockito default engine.
*
*
* If you are interested then see implementations or source code of {@link org.mockito.MockitoAnnotations#openMocks(Object)}
*
*
This plugin mechanism supersedes the {@link org.mockito.configuration.IMockitoConfiguration}
* in regard of switching mockito components.
*/
public interface AnnotationEngine {
/**
* Processes the test instance to configure annotated members.
*
* @param clazz Class where to extract field information, check implementation for details
* @param testInstance Test instance
*/
AutoCloseable process(Class clazz, Object testInstance);
class NoAction implements AutoCloseable {
@Override
public void close() {}
}
}