org.powermock.modules.junit4.internal.impl
Class PowerMockJUnit44RunnerDelegateImpl

java.lang.Object
  extended by org.junit.runner.Runner
      extended by org.powermock.modules.junit4.internal.impl.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

Nested Class Summary
protected  class PowerMockJUnit44RunnerDelegateImpl.PowerMockJUnit44MethodRunner
           
 
Constructor Summary
PowerMockJUnit44RunnerDelegateImpl(Class<?> klass)
           
PowerMockJUnit44RunnerDelegateImpl(Class<?> klass, String[] methodsToRun)
           
PowerMockJUnit44RunnerDelegateImpl(Class<?> klass, String[] methodsToRun, PowerMockTestListener[] listeners)
           
 
Method Summary
protected  Annotation[] classAnnotations()
           
protected  PowerMockJUnit44RunnerDelegateImpl.PowerMockJUnit44MethodRunner createPowerMockRunner(Object testInstance, org.junit.internal.runners.TestMethod testMethod, org.junit.runner.notification.RunNotifier notifier, org.junit.runner.Description description, boolean extendsFromTestCase)
           
protected  Object createTest()
           
 void filter(org.junit.runner.manipulation.Filter filter)
           
 org.junit.runner.Description getDescription()
          
protected  String getName()
           
 Class<?> getTestClass()
           
 int getTestCount()
           
protected  List<Method> getTestMethods(Class<?> klass, String[] methodsToRun)
           
protected  org.junit.internal.runners.TestClass getTestWrappedClass()
           
protected  void invokeTestMethod(Method method, org.junit.runner.notification.RunNotifier notifier)
           
protected  org.junit.runner.Description methodDescription(Method method)
           
 void run(org.junit.runner.notification.RunNotifier notifier)
          
protected  void runMethods(org.junit.runner.notification.RunNotifier notifier)
           
 void sort(org.junit.runner.manipulation.Sorter sorter)
           
protected  Annotation[] testAnnotations(Method method)
           
protected  String testName(Method method)
           
protected  void validate()
           
protected  org.junit.internal.runners.TestMethod wrapMethod(Method method)
           
 
Methods inherited from class org.junit.runner.Runner
testCount
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 List<Method> getTestMethods(Class<?> klass,
                                      String[] methodsToRun)

validate

protected 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()

createTest

protected Object createTest()
                     throws Exception
Throws:
Exception

invokeTestMethod

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

createPowerMockRunner

protected PowerMockJUnit44RunnerDelegateImpl.PowerMockJUnit44MethodRunner createPowerMockRunner(Object testInstance,
                                                                                                org.junit.internal.runners.TestMethod testMethod,
                                                                                                org.junit.runner.notification.RunNotifier notifier,
                                                                                                org.junit.runner.Description description,
                                                                                                boolean extendsFromTestCase)

wrapMethod

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

testName

protected String testName(Method method)

methodDescription

protected org.junit.runner.Description methodDescription(Method method)

testAnnotations

protected Annotation[] testAnnotations(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()

getTestCount

public int getTestCount()
Specified by:
getTestCount in interface PowerMockJUnitRunnerDelegate

getTestClass

public Class<?> getTestClass()
Specified by:
getTestClass in interface PowerMockJUnitRunnerDelegate


Copyright © 2007-2013. All Rights Reserved.