Class TestClassTransformer

  • All Implemented Interfaces:
    MockTransformer

    public abstract class TestClassTransformer
    extends Object
    implements MockTransformer
    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 AbstractMainMockTransformer.setAllConstructorsToPublic(javassist.CtClass)) - 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.