Message327092
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()``. |
|
Date |
User |
Action |
Args |
2018-10-04 22:24:33 | Bruno Oliveira | set | recipients:
+ Bruno Oliveira |
2018-10-04 22:24:33 | Bruno Oliveira | set | messageid: <1538691873.85.0.545547206417.issue34900@psf.upfronthosting.co.za> |
2018-10-04 22:24:33 | Bruno Oliveira | link | issue34900 messages |
2018-10-04 22:24:33 | Bruno Oliveira | create | |
|