public class MockClassLoader extends DeferSupportingClassLoader
| Modifier and Type | Field and Description |
|---|---|
private static java.lang.String |
CGLIB_ENHANCER |
private static java.lang.String |
CGLIB_METHOD_WRAPPER |
private javassist.ClassPool |
classPool |
private JavaAssistClassMarker |
javaAssistClassMarker |
private java.util.List<MockTransformer> |
mockTransformerChain |
private java.util.Set<java.lang.String> |
modify |
static java.lang.String |
MODIFY_ALL_CLASSES
Pass this string to the constructor to indicate that all classes should
be modified.
|
private static java.lang.String[] |
packagesToBeDeferred |
private java.lang.String[] |
packagesToLoadButNotModify |
private java.lang.String[] |
specificClassesToLoadButNotModify |
deferPackages, deferTo| Constructor and Description |
|---|
MockClassLoader() |
MockClassLoader(java.lang.String[] classesToMock)
Creates a new instance of the
MockClassLoader based on the
following parameters: |
MockClassLoader(java.lang.String[] classesToMock,
java.lang.String[] packagesToDefer)
Creates a new instance of the
MockClassLoader based on the
following parameters: |
MockClassLoader(java.lang.String[] classesToMock,
java.lang.String[] packagesToDefer,
UseClassPathAdjuster useClassPathAdjuster)
Creates a new instance of the
MockClassLoader based on the
following parameters: |
MockClassLoader(java.lang.String[] classesToMock,
UseClassPathAdjuster useClassPathAdjuster)
Creates a new instance of the
MockClassLoader based on the
following parameters: |
| Modifier and Type | Method and Description |
|---|---|
void |
addClassesToModify(java.lang.String... classes)
Add classes that will be loaded by the mock classloader, i.e.
|
private static java.lang.String[] |
getPackagesToDefer(java.lang.String[] additionalDeferPackages) |
private java.lang.Class<?> |
loadMockClass(java.lang.String name)
Load a mocked version of the class.
|
protected java.lang.Class<?> |
loadModifiedClass(java.lang.String s) |
private java.lang.Class<?> |
loadUnmockedClass(java.lang.String name,
java.security.ProtectionDomain protectionDomain) |
void |
setMockTransformerChain(java.util.List<MockTransformer> mockTransformerChain) |
protected boolean |
shouldLoadUnmodifiedClass(java.lang.String className) |
private boolean |
shouldLoadWithMockClassloaderWithoutModifications(java.lang.String className) |
private boolean |
shouldModify(java.lang.String className) |
private boolean |
shouldModifyAll() |
protected boolean |
shouldModifyClass(java.lang.String s) |
addIgnorePackage, cache, findResource, findResources, getResource, getResourceAsStream, getResources, loadClass, shouldDefer, shouldIgnore, shouldModifyaddTranslator, delegateLoadingOf, delegateToParent, findClass, loadClassByDelegation, main, run, run, setClassPool, setDomainclearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSignerspublic static final java.lang.String MODIFY_ALL_CLASSES
private static final java.lang.String CGLIB_ENHANCER
private static final java.lang.String CGLIB_METHOD_WRAPPER
private final JavaAssistClassMarker javaAssistClassMarker
private java.util.List<MockTransformer> mockTransformerChain
private final java.util.Set<java.lang.String> modify
private final java.lang.String[] packagesToLoadButNotModify
private final java.lang.String[] specificClassesToLoadButNotModify
private static final java.lang.String[] packagesToBeDeferred
private final javassist.ClassPool classPool
public MockClassLoader(java.lang.String[] classesToMock,
java.lang.String[] packagesToDefer,
UseClassPathAdjuster useClassPathAdjuster)
MockClassLoader based on the
following parameters:classesToMock - The classes that must be modified to prepare for testability.packagesToDefer - Classes in these packages will be defered to the system
class-loader.MockClassLoader()
public MockClassLoader(java.lang.String[] classesToMock,
java.lang.String[] packagesToDefer)
MockClassLoader based on the
following parameters:classesToMock - The classes that must be modified to prepare for testability.packagesToDefer - Classes in these packages will be defered to the system
class-loader.public MockClassLoader(java.lang.String[] classesToMock,
UseClassPathAdjuster useClassPathAdjuster)
MockClassLoader based on the
following parameters:classesToMock - The classes that must be modified to prepare for testability.public MockClassLoader(java.lang.String[] classesToMock)
MockClassLoader based on the
following parameters:classesToMock - The classes that must be modified to prepare for testability.private static java.lang.String[] getPackagesToDefer(java.lang.String[] additionalDeferPackages)
public final void addClassesToModify(java.lang.String... classes)
packagesToBeDeferred will be ignored. How ever
classes added here have precedence over additionally deferred (ignored)
packages (those ignored by the user using @PrepareForTest).classes - The fully qualified name of the classes that will be appended
to the list of classes that will be byte-code modified to
enable testability.protected java.lang.Class<?> loadModifiedClass(java.lang.String s)
throws java.lang.ClassFormatError,
java.lang.ClassNotFoundException
loadModifiedClass in class DeferSupportingClassLoaderjava.lang.ClassFormatErrorjava.lang.ClassNotFoundExceptionprivate boolean shouldModify(java.lang.String className)
private boolean shouldModifyAll()
private java.lang.Class<?> loadUnmockedClass(java.lang.String name,
java.security.ProtectionDomain protectionDomain)
throws java.lang.ClassFormatError,
java.lang.ClassNotFoundException
java.lang.ClassFormatErrorjava.lang.ClassNotFoundExceptionprivate java.lang.Class<?> loadMockClass(java.lang.String name)
public void setMockTransformerChain(java.util.List<MockTransformer> mockTransformerChain)
protected boolean shouldModifyClass(java.lang.String s)
shouldModifyClass in class DeferSupportingClassLoaderprotected boolean shouldLoadUnmodifiedClass(java.lang.String className)
shouldLoadUnmodifiedClass in class DeferSupportingClassLoaderprivate boolean shouldLoadWithMockClassloaderWithoutModifications(java.lang.String className)