| /* |
| * Copyright (c) 2007 Mockito contributors |
| * This program is made available under the terms of the MIT License. |
| */ |
| package org.mockito.runners; |
| |
| import org.junit.runner.Description; |
| import org.junit.runner.Runner; |
| import org.junit.runner.manipulation.Filter; |
| import org.junit.runner.manipulation.Filterable; |
| import org.junit.runner.manipulation.NoTestsRemainException; |
| import org.junit.runner.notification.Failure; |
| import org.junit.runner.notification.RunListener; |
| import org.junit.runner.notification.RunNotifier; |
| import org.mockito.internal.debugging.WarningsCollector; |
| import org.mockito.internal.runners.RunnerFactory; |
| import org.mockito.internal.runners.InternalRunner; |
| import org.mockito.internal.util.ConsoleMockitoLogger; |
| import org.mockito.internal.util.MockitoLogger; |
| |
| import java.lang.reflect.InvocationTargetException; |
| |
| /** |
| * @deprecated as of 2.1.0. Use the {@link org.mockito.junit.MockitoJUnitRunner} runner instead |
| * which contains support for detecting unused stubs. |
| * <p> |
| * If you still prefer using this runner, tell us why (create ticket in our issue tracker). |
| */ |
| @Deprecated |
| public class ConsoleSpammingMockitoJUnitRunner extends Runner implements Filterable { |
| |
| private final MockitoLogger logger; |
| private final InternalRunner runner; |
| |
| public ConsoleSpammingMockitoJUnitRunner(Class<?> klass) throws InvocationTargetException { |
| this(new ConsoleMockitoLogger(), new RunnerFactory().create(klass)); |
| } |
| |
| ConsoleSpammingMockitoJUnitRunner(MockitoLogger logger, InternalRunner runner) { |
| this.runner = runner; |
| this.logger = logger; |
| } |
| |
| @Override |
| public void run(RunNotifier notifier) { |
| RunListener listener = new RunListener() { |
| WarningsCollector warningsCollector; |
| |
| @Override |
| public void testStarted(Description description) throws Exception { |
| warningsCollector = new WarningsCollector(); |
| } |
| |
| @Override public void testFailure(Failure failure) throws Exception { |
| logger.log(warningsCollector.getWarnings()); |
| } |
| }; |
| |
| notifier.addListener(listener); |
| |
| runner.run(notifier); |
| } |
| |
| @Override |
| public Description getDescription() { |
| return runner.getDescription(); |
| } |
| |
| public void filter(Filter filter) throws NoTestsRemainException { |
| //filter is required because without it UnrootedTests show up in Eclipse |
| runner.filter(filter); |
| } |
| } |