diff options
-rw-r--r-- | Lib/test/test_unittest.py | 8 | ||||
-rw-r--r-- | Lib/unittest.py | 4 |
2 files changed, 11 insertions, 1 deletions
diff --git a/Lib/test/test_unittest.py b/Lib/test/test_unittest.py index 950b2ca222..ecf31628e8 100644 --- a/Lib/test/test_unittest.py +++ b/Lib/test/test_unittest.py @@ -3325,6 +3325,14 @@ class Test_TestProgram(TestCase): self.assertEqual(program.verbosity, 2) + def testTestProgram_testRunnerArgument(self): + program = object.__new__(TestProgram) + program.parseArgs = lambda _: None + program.runTests = lambda: None + program.__init__(testRunner=None) + self.assertEqual(program.testRunner, unittest.TextTestRunner) + + class FooBar(unittest.TestCase): def testPass(self): assert True diff --git a/Lib/unittest.py b/Lib/unittest.py index c8943e7f12..bf7baa11c8 100644 --- a/Lib/unittest.py +++ b/Lib/unittest.py @@ -1640,9 +1640,11 @@ class TestProgram(object): """ USAGE = USAGE def __init__(self, module='__main__', defaultTest=None, - argv=None, testRunner=TextTestRunner, + argv=None, testRunner=None, testLoader=defaultTestLoader, exit=True, verbosity=1): + if testRunner is None: + testRunner = TextTestRunner if isinstance(module, basestring): self.module = __import__(module) for part in module.split('.')[1:]: |