问题标题是自我解释。 有没有办法
class Foo(TestCase):
def test_bar(self):
"""
a docstring
"""
使UnitTest
报告显示整个文档字符串?
我已经读过将打印文档字符串的第一行(所以写
""" a docstring """
没有换行符)
我读过这个问题:How to stop Python unittest from printing test docstring?
但是,它是关于删除文档字符串,我不知道如何覆盖shortDescription()
以显示完整的文档字符串。
答案 0 :(得分:3)
(我没试过这个)
在the answer到SO-linked question,它说
负责任的方法是
TestCase.shortDescription()
,你可以 在你的测试用例中覆盖。
doc = self._testMethodDoc
return doc and doc.split("\n")[0].strip() or None
所以你可以将第二行修改为
return doc
产生
class MyTests(unittest.TestCase):
# ....
def shortDescription(self):
doc = self._testMethodDoc
return doc
如果您反对使用未记录的self._testMethodDoc
,则它是testMethod.__doc__
的直接副本,该副本在TestCase.__init__()
中通过
testMethod = getattr(self, methodName)
TestCase
的变量非常少。他们被重命名的可能性很小,但你可能会问作者(来自消息来源):
47 __author__ = "Steve Purcell"
48 __email__ = "stephen_purcell at yahoo dot com"