Kaydet (Commit) 67911370 authored tarafından Guido van Rossum's avatar Guido van Rossum

Now that TestCase is a new-style class, change loadTestsFromModule and

loadTestsFromName to accept new-style classes too!
üst 42d1d3ed
...@@ -422,7 +422,8 @@ class TestLoader: ...@@ -422,7 +422,8 @@ class TestLoader:
tests = [] tests = []
for name in dir(module): for name in dir(module):
obj = getattr(module, name) obj = getattr(module, name)
if type(obj) == types.ClassType and issubclass(obj, TestCase): if (isinstance(obj, (type, types.ClassType)) and
issubclass(obj, TestCase)):
tests.append(self.loadTestsFromTestCase(obj)) tests.append(self.loadTestsFromTestCase(obj))
return self.suiteClass(tests) return self.suiteClass(tests)
...@@ -456,7 +457,8 @@ class TestLoader: ...@@ -456,7 +457,8 @@ class TestLoader:
import unittest import unittest
if type(obj) == types.ModuleType: if type(obj) == types.ModuleType:
return self.loadTestsFromModule(obj) return self.loadTestsFromModule(obj)
elif type(obj) == types.ClassType and issubclass(obj, unittest.TestCase): elif (isinstance(obj, (type, types.ClassType)) and
issubclass(obj, unittest.TestCase)):
return self.loadTestsFromTestCase(obj) return self.loadTestsFromTestCase(obj)
elif type(obj) == types.UnboundMethodType: elif type(obj) == types.UnboundMethodType:
return obj.im_class(obj.__name__) return obj.im_class(obj.__name__)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment