Class TestClassTransformer<T,M>

java.lang.Object
org.powermock.core.transformers.TestClassTransformer<T,M>
All Implemented Interfaces:
MockTransformer<T>
Direct Known Subclasses:
JavaAssistTestClassTransformer

public abstract class TestClassTransformer<T,M> extends Object implements MockTransformer<T>
MockTransformer implementation that will make PowerMock test-class enhancements for four purposes... 1) Make test-class static initializer and constructor send crucial details (for PowerMockTestListener events) to GlobalNotificationBuildSupport so that this information can be forwarded to whichever facility is used for composing the PowerMockTestListener events. 2) Removal of test-method annotations as a mean to achieve test-suite chunking! 3) Restore original test-class constructors` accesses (in case they have all been made public by ConstructorsMockTransformer) - to avoid that multiple public test-class constructors cause a delegate runner from JUnit (or 3rd party) to bail out with an error message such as "Test class can only have one constructor". 4) Set test-class defer constructor (if exist) as protected instead of public. Otherwise a delegate runner from JUnit (or 3rd party) might get confused by the presence of more than one test-class constructor and bail out with an error message such as "Test class can only have one constructor".

The #3 and #4 enhancements will also be enforced on the constructors of classes that are nested within the test-class.

  • Field Details

    • testClass

      private final Class<?> testClass
    • testMethodAnnotationType

      private final Class<? extends Annotation> testMethodAnnotationType
    • methodSignatureWriter

      private final MethodSignatureWriter<M> methodSignatureWriter
  • Constructor Details

  • Method Details

    • signatureOf

      protected String signatureOf(M method)
    • signatureOf

      protected String signatureOf(Method m)
    • getTestMethodAnnotationType

      protected Class<? extends Annotation> getTestMethodAnnotationType()
    • getTestClass

      protected Class<?> getTestClass()