[issue46126] Unittest output drives developers to avoid docstrings

Jason R. Coombs report at bugs.python.org
Sat Dec 18 22:22:25 EST 2021


Jason R. Coombs <jaraco at jaraco.com> added the comment:

After some investigation (and tracing calls through a dozen or more layers), I found that Python's own regression tests can disable this behavior thus:

```
diff --git a/Lib/test/support/testresult.py b/Lib/test/support/testresult.py
index 2cd1366cd8..328ca8760e 100644
--- a/Lib/test/support/testresult.py
+++ b/Lib/test/support/testresult.py
@@ -145,7 +145,8 @@ def get_test_runner_class(verbosity, buffer=False):
         return functools.partial(unittest.TextTestRunner,
                                  resultclass=RegressionTestResult,
                                  buffer=buffer,
-                                 verbosity=verbosity)
+                                 verbosity=verbosity,
+                                 descriptions=False,)
     return functools.partial(QuietRegressionTestRunner, buffer=buffer)
 
 def get_test_runner(stream, verbosity, capture_output=False):
```

Combined with the above diff (with a docstring), the output is now as desired:

```
$ ./python.exe -m test -v test_importlib | grep '... ERROR'
test_entry_points_unique_packages (test.test_importlib.test_metadata_api.APITests) ... ERROR
test test_importlib failed
```

It seems it would be wise to enable this setting by default, given that without it, every test module is forced to replace docstrings with comments.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue46126>
_______________________________________


More information about the Python-bugs-list mailing list