155
155
result.addTests(self.loadTestsFromModule(module))
158
def loadTestsFromModule(self, module):
159
"""Load tests from a module object.
161
This extension of the python test loader looks for an attribute
162
load_tests in the module object, and if not found falls back to the
163
regular python loadTestsFromModule.
165
If a load_tests attribute is found, it is called and the result is
168
load_tests should be defined like so:
169
>>> def load_tests(standard_tests, module, loader):
172
standard_tests is the tests found by the stock TestLoader in the
173
module, module and loader are the module and loader instances.
175
For instance, to run every test twice, you might do:
176
>>> def load_tests(standard_tests, module, loader):
177
>>> result = loader.suiteClass()
178
>>> for test in iter_suite_tests(standard_tests):
179
>>> result.addTests([test, test])
182
# GZ 2010-07-19: Python 2.7 unittest also uses load_tests but with
183
# a different and incompatible signature
184
basic_tests = super(TestLoader, self).loadTestsFromModule(module,
185
use_load_tests=False)
186
load_tests = getattr(module, "load_tests", None)
187
if load_tests is not None:
188
return load_tests(basic_tests, module, self)
192
158
def getTestCaseNames(self, test_case_class):
193
159
test_fn_names = self.test_func_names.get(test_case_class, None)
194
160
if test_fn_names is not None: