New submission from Bruno Oliveira <nicodde...@gmail.com>:
Consider this code: import unittest class TC(unittest.TestCase): def test_subtest(self): with self.subTest(): pass tc = TC('test_subtest') tc.run() This works when executed, but if we change ``tc.run()`` to ``tc.debug()`` we get the following exception: Traceback (most recent call last): File ".tmp\test-unittest-regression.py", line 13, in <module> tc.debug() File "C:\Users\Bruno\AppData\Local\Programs\Python\Python36\lib\unittest\case.py", line 658, in debug getattr(self, self._testMethodName)() File ".tmp\test-unittest-regression.py", line 7, in test_subtest with self.subTest(): File "C:\Users\Bruno\AppData\Local\Programs\Python\Python36\lib\contextlib.py", line 81, in __enter__ return next(self.gen) File "C:\Users\Bruno\AppData\Local\Programs\Python\Python36\lib\unittest\case.py", line 512, in subTest if not self._outcome.result_supports_subtests: AttributeError: 'NoneType' object has no attribute 'result_supports_subtests' Looking at the code, ``subTest`` assumes that the ``TestCase`` instance has the ``self._outcome`` atribute, which is set only by ``run()``. ---------- components: Library (Lib) messages: 327092 nosy: Bruno Oliveira priority: normal severity: normal status: open title: unittest subTests() fails when called from debug() versions: Python 3.4, Python 3.5, Python 3.6, Python 3.7 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue34900> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com