Package junit.runner

# Class TestCaseClassLoader

java.lang.Object
java.lang.ClassLoader
junit.runner.TestCaseClassLoader

public class TestCaseClassLoader extends ClassLoader
A custom class loader which enables the reloading of classes for each test run. The class loader can be configured with a list of package paths that should be excluded from loading. The loading of these packages is delegated to the system class loader. They will be shared across test runs.

The list of excluded package paths is specified in a properties file "excluded.properties" that is located in the same place as the TestCaseClassLoader class.

Known limitation: the TestCaseClassLoader cannot load classes from jar files.

## Constructor Summary

Constructors
Constructor
Description
`TestCaseClassLoader()`
Constructs a TestCaseLoader.
`TestCaseClassLoader(String classPath)`
Constructs a TestCaseLoader.

## Method Summary

Modifier and Type
Method
Description
`URL`
`getResource(String name)`
`InputStream`
`getResourceAsStream(String name)`
`boolean`
`isExcluded(String name)`
`Class`
`loadClass(String name, boolean resolve)`

### Methods inherited from class java.lang.ClassLoader

`clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findClass, findLibrary, findLoadedClass, findResource, findResource, findResources, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### TestCaseClassLoader

public TestCaseClassLoader()
Constructs a TestCaseLoader. It scans the class path and the excluded package paths

### TestCaseClassLoader

public TestCaseClassLoader(String classPath)
Constructs a TestCaseLoader. It scans the class path and the excluded package paths

## Method Details

### getResource

public URL getResource(String name)

Overrides:
  `getResource` in class `ClassLoader`

### getResourceAsStream

public InputStream getResourceAsStream(String name)

Overrides:
  `getResourceAsStream` in class `ClassLoader`

### isExcluded

public boolean isExcluded(String name)

### loadClass

public Class loadClass(String name, boolean resolve) throws ClassNotFoundException

Overrides:
  `loadClass` in class `ClassLoader`
Throws:
  `ClassNotFoundException`