hl0*_*37_ 1 python python-unittest
问题标题是不言自明的。有没有办法
class Foo(TestCase):
def test_bar(self):
"""
a docstring
"""
Run Code Online (Sandbox Code Playgroud)
使UnitTest报告显示整个文档字符串?
我已经读过文档字符串的第一行将被打印(所以写
""" a docstring """
Run Code Online (Sandbox Code Playgroud)
没有换行符有效)
我读过这个问题:How to stop Python unittest from print test docstring?
但是,这是关于删除文档字符串,我不知道如何覆盖shortDescription()以显示完整的文档字符串。
(这个我没试过)
负责的方法是
TestCase.shortDescription(),您可以在测试用例中覆盖它。
doc = self._testMethodDoc
return doc and doc.split("\n")[0].strip() or None
Run Code Online (Sandbox Code Playgroud)
所以你可以将第二行修改为
return doc
Run Code Online (Sandbox Code Playgroud)
屈服
class MyTests(unittest.TestCase):
# ....
def shortDescription(self):
doc = self._testMethodDoc
return doc
Run Code Online (Sandbox Code Playgroud)
如果您反对使用未记录的self._testMethodDoc,它是 的直接副本testMethod.__doc__,它是在TestCase.__init__()via创建的
testMethod = getattr(self, methodName)
Run Code Online (Sandbox Code Playgroud)
a 的变量很少TestCase。它们被重命名的可能性很小,但您可能会问作者(也来自来源):
47 __author__ = "Steve Purcell"
48 __email__ = "stephen_purcell at yahoo dot com"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1632 次 |
| 最近记录: |