public abstract class JavaAssistTestClassTransformer extends TestClassTransformer<javassist.CtClass,javassist.CtMethod>
Constructor and Description |
---|
JavaAssistTestClassTransformer(java.lang.Class<?> testClass,
java.lang.Class<? extends java.lang.annotation.Annotation> testMethodAnnotationType,
MethodSignatureWriter<javassist.CtMethod> signatureWriter) |
Modifier and Type | Method and Description |
---|---|
private void |
addClassInitializerNotification(javassist.CtClass clazz) |
private void |
addConstructorNotification(javassist.CtClass clazz) |
private void |
addLifeCycleNotifications(javassist.CtClass clazz) |
private java.lang.Class<?> |
asOriginalClass(javassist.CtClass type) |
private java.lang.Class<?>[] |
asOriginalClassParams(javassist.CtClass[] parameterTypes) |
private static boolean |
hasSuperClass(javassist.CtClass clazz) |
private boolean |
isNestedWithinTestClass(javassist.CtClass clazz) |
private boolean |
isTestClass(javassist.CtClass clazz) |
private void |
makeDeferConstructorNonPublic(javassist.CtClass clazz) |
protected abstract boolean |
mustHaveTestAnnotationRemoved(javassist.CtMethod method) |
private void |
removeTestAnnotationsForTestMethodsThatRunOnOtherClassLoader(javassist.CtClass clazz) |
private void |
removeTestMethodAnnotationFrom(javassist.CtMethod m) |
private void |
restoreOriginalConstructorsAccesses(javassist.CtClass clazz) |
ClassWrapper<javassist.CtClass> |
transform(ClassWrapper<javassist.CtClass> clazz)
Transforms the
clazz . |
private void |
transform(javassist.CtClass clazz) |
getTestClass, getTestMethodAnnotationType, signatureOf, signatureOf
JavaAssistTestClassTransformer(java.lang.Class<?> testClass, java.lang.Class<? extends java.lang.annotation.Annotation> testMethodAnnotationType, MethodSignatureWriter<javassist.CtMethod> signatureWriter)
protected abstract boolean mustHaveTestAnnotationRemoved(javassist.CtMethod method) throws java.lang.Exception
java.lang.Exception
public ClassWrapper<javassist.CtClass> transform(ClassWrapper<javassist.CtClass> clazz) throws java.lang.Exception
MockTransformer
clazz
.clazz
- The class to be
transform into a mock enabled class.ClassWrapper
representation of the mocked class.java.lang.Exception
private void transform(javassist.CtClass clazz) throws java.lang.Exception
java.lang.Exception
private boolean isTestClass(javassist.CtClass clazz)
private boolean isNestedWithinTestClass(javassist.CtClass clazz)
private java.lang.Class<?> asOriginalClass(javassist.CtClass type) throws java.lang.Exception
java.lang.Exception
private java.lang.Class<?>[] asOriginalClassParams(javassist.CtClass[] parameterTypes) throws java.lang.Exception
java.lang.Exception
private void removeTestMethodAnnotationFrom(javassist.CtMethod m)
private void removeTestAnnotationsForTestMethodsThatRunOnOtherClassLoader(javassist.CtClass clazz) throws java.lang.Exception
java.lang.Exception
private void addLifeCycleNotifications(javassist.CtClass clazz)
private void addClassInitializerNotification(javassist.CtClass clazz) throws javassist.CannotCompileException
javassist.CannotCompileException
private static boolean hasSuperClass(javassist.CtClass clazz)
private void addConstructorNotification(javassist.CtClass clazz) throws javassist.CannotCompileException
javassist.CannotCompileException
private void restoreOriginalConstructorsAccesses(javassist.CtClass clazz) throws java.lang.Exception
java.lang.Exception
private void makeDeferConstructorNonPublic(javassist.CtClass clazz)