| /* |
| * Copyright (c) 2007 Mockito contributors |
| * This program is made available under the terms of the MIT License. |
| */ |
| |
| package org.mockito.internal.runners; |
| |
| import org.junit.internal.runners.InitializationError; |
| import org.junit.internal.runners.JUnit4ClassRunner; |
| import org.junit.runner.Description; |
| import org.junit.runner.manipulation.Filter; |
| import org.junit.runner.manipulation.NoTestsRemainException; |
| import org.junit.runner.notification.RunNotifier; |
| import org.mockito.MockitoAnnotations; |
| import org.mockito.internal.runners.util.FrameworkUsageValidator; |
| |
| @SuppressWarnings("deprecation") |
| public class JUnit44RunnerImpl implements RunnerImpl { |
| |
| JUnit4ClassRunner runner; |
| |
| public JUnit44RunnerImpl(Class<?> klass) throws InitializationError { |
| this.runner = new JUnit4ClassRunner(klass) { |
| @Override |
| protected Object createTest() throws Exception { |
| Object test = super.createTest(); |
| MockitoAnnotations.initMocks(test); |
| return test; |
| } |
| }; |
| } |
| |
| public void run(RunNotifier notifier) { |
| // add listener that validates framework usage at the end of each test |
| notifier.addListener(new FrameworkUsageValidator(notifier)); |
| |
| runner.run(notifier); |
| } |
| |
| public Description getDescription() { |
| return runner.getDescription(); |
| } |
| |
| public void filter(Filter filter) throws NoTestsRemainException { |
| runner.filter(filter); |
| } |
| } |