package me.moodcat.util; import java.lang.reflect.InvocationTargetException; import org.jukito.JukitoRunner; import org.junit.runners.model.InitializationError; import org.mockito.MockitoAnnotations; import org.mockito.runners.MockitoJUnitRunner; import com.google.inject.Injector; /** * Calls {@link MockitoAnnotations#initMocks(Object)} on the test to run like * {@link MockitoJUnitRunner} does, * so the test class doesn't need to do it itself in a {@literal @}Before annotated method to have * its {@literal @}Mock annotated fields provided with mocks. * * @author jfrantzius */ public class JukitoRunnerSupportingMockAnnotations extends JukitoRunner { public JukitoRunnerSupportingMockAnnotations(Class<?> klass) throws InitializationError, InvocationTargetException, InstantiationException, IllegalAccessException { super(klass); } public JukitoRunnerSupportingMockAnnotations(Class<?> klass, Injector injector) throws InitializationError, InvocationTargetException, InstantiationException, IllegalAccessException { super(klass, injector); } @Override protected Object createTest() throws Exception { Object result = super.createTest(); MockitoAnnotations.initMocks(result); return result; } }