Class PowerMockJUnit44RunnerDelegateImpl

  • All Implemented Interfaces:
    org.junit.runner.Describable, org.junit.runner.manipulation.Filterable, org.junit.runner.manipulation.Sortable, PowerMockJUnitRunnerDelegate
    Direct Known Subclasses:
    PowerMockJUnit47RunnerDelegateImpl

    public class PowerMockJUnit44RunnerDelegateImpl
    extends org.junit.runner.Runner
    implements org.junit.runner.manipulation.Filterable, org.junit.runner.manipulation.Sortable, PowerMockJUnitRunnerDelegate
    A JUnit4 test runner that only runs a specified set of test methods in a test class.

    Many parts of this class are essentially a rip off from JUnit4ClassRunner used in JUnit 4.4. It does however not extend this class because we cannot let it perform the stuff it does in its constructor. Another thing that different is that if an exception is thrown in the test we add a tip to error message asking the user if they've not forgot to add a class to test. Yet another difference is that this runner notifies the PowerMock listeners of certain events.

    See Also:
    JUnit4ClassRunner
    • Constructor Detail

      • PowerMockJUnit44RunnerDelegateImpl

        public PowerMockJUnit44RunnerDelegateImpl​(Class<?> klass,
                                                  String[] methodsToRun,
                                                  PowerMockTestListener[] listeners)
                                           throws org.junit.internal.runners.InitializationError
        Throws:
        org.junit.internal.runners.InitializationError
      • PowerMockJUnit44RunnerDelegateImpl

        public PowerMockJUnit44RunnerDelegateImpl​(Class<?> klass,
                                                  String[] methodsToRun)
                                           throws org.junit.internal.runners.InitializationError
        Throws:
        org.junit.internal.runners.InitializationError
      • PowerMockJUnit44RunnerDelegateImpl

        public PowerMockJUnit44RunnerDelegateImpl​(Class<?> klass)
                                           throws org.junit.internal.runners.InitializationError
        Throws:
        org.junit.internal.runners.InitializationError
    • Method Detail

      • getTestMethods

        protected final List<Method> getTestMethods​(Class<?> klass,
                                                    String[] methodsToRun)
      • validate

        protected final void validate()
                               throws org.junit.internal.runners.InitializationError
        Throws:
        org.junit.internal.runners.InitializationError
      • run

        public void run​(org.junit.runner.notification.RunNotifier notifier)
        Specified by:
        run in interface PowerMockJUnitRunnerDelegate
        Specified by:
        run in class org.junit.runner.Runner
      • runMethods

        protected void runMethods​(org.junit.runner.notification.RunNotifier notifier)
      • getDescription

        public org.junit.runner.Description getDescription()
        Specified by:
        getDescription in interface org.junit.runner.Describable
        Specified by:
        getDescription in interface PowerMockJUnitRunnerDelegate
        Specified by:
        getDescription in class org.junit.runner.Runner
      • classAnnotations

        protected Annotation[] classAnnotations()
      • getName

        protected String getName()
      • invokeTestMethod

        protected void invokeTestMethod​(Method method,
                                        org.junit.runner.notification.RunNotifier notifier)
      • wrapMethod

        protected org.junit.internal.runners.TestMethod wrapMethod​(Method method)
      • methodDescription

        protected org.junit.runner.Description methodDescription​(Method method)
      • filter

        public void filter​(org.junit.runner.manipulation.Filter filter)
                    throws org.junit.runner.manipulation.NoTestsRemainException
        Specified by:
        filter in interface org.junit.runner.manipulation.Filterable
        Throws:
        org.junit.runner.manipulation.NoTestsRemainException
      • sort

        public void sort​(org.junit.runner.manipulation.Sorter sorter)
        Specified by:
        sort in interface org.junit.runner.manipulation.Sortable
      • getTestWrappedClass

        protected org.junit.internal.runners.TestClass getTestWrappedClass()