5.2.7 TestLoader Objects
The TestLoader class is used to create test suites from
classes and modules. Normally, there is no need to create an instance
of this class; the unittest module provides an instance
that can be shared as the defaultTestLoader
module attribute.
Using a subclass or instance would allow customization of some
configurable properties.
TestLoader objects have the following methods:
- loadTestsFromTestCase(testCaseClass)
-
Return a suite of all tests cases contained in the
TestCase-derived class testCaseClass.
- loadTestsFromModule(module)
-
Return a suite of all tests cases contained in the given module.
This method searches module for classes derived from
TestCase and creates an instance of the class for each test
method defined for the class.
Warning: While using a hierarchy of
Testcase-derived classes can be convenient in sharing
fixtures and helper functions, defining test methods on base classes
that are not intended to be instantiated directly does not play well
with this method. Doing so, however, can be useful when the
fixtures are different and defined in subclasses.
- loadTestsFromName(name[, module])
-
Return a suite of all tests cases given a string specifier.
The specifier name may resolve either to a module, a test case
class, a test method within a test case class, or a callable object
which returns a TestCase or TestSuite instance.
The method optionally resolves name relative to a given module.
- loadTestsFromNames(names[, module])
-
Similar to loadTestsFromName(), but takes a sequence of
names rather than a single name. The return value is a test suite
which supports all the tests defined for each name.
- getTestCaseNames(testCaseClass)
-
Return a sorted sequence of method names found within
testCaseClass.
The following attributes of a TestLoader can be configured
either by subclassing or assignment on an instance:
- testMethodPrefix
-
String giving the prefix of method names which will be interpreted
as test methods. The default value is
'test'
.
- sortTestMethodsUsing
-
Function to be used to compare method names when sorting them in
getTestCaseNames(). The default value is the built-in
cmp() function; it can be set to
None
to disable
the sort.
- suiteClass
-
Callable object that constructs a test suite from a list of tests.
No methods on the resulting object are needed. The default value is
the TestSuite class.
See About this document... for information on suggesting changes.