我发现了shortDescription
功能,并渴望尝试一下。
SHORTDESCRIPTION() 返回测试的描述,如果没有提供描述,则返回None。此方法的默认实现返回测试方法的docstring的第一行(如果可用)或None。
奇怪的是,我无法让它发挥作用。 谁能发现我做错了什么?
我的班级继承自unittest.TestCase
,甚至还有文件串
def test_smth(self):
"""
TEST
"""
self.description = 'TEST!'
print(self.shortDescription())
在Python 3.6中打印出None
答案 0 :(得分:4)
doc-string的第一行是空的:
""" <--- this is the first line
TEST
"""
删除第一个空行,您将看到您想要的内容:
"""TEST
"""
➜ /tmp cat t.py
import unittest
class UT(unittest.TestCase):
def test_smth(self):
"""TEST"""
print('shortDescription():', self.shortDescription())
unittest.main()
➜ /tmp python3.6 t.py
shortDescription(): TEST
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
如果使用-v
命令行选项运行测试,则可以看到打印的描述而不是测试方法名称:
➜ /tmp python3.6 t.py -v
test_smth (__main__.UT)
TEST ... shortDescription(): TEST
ok
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
答案 1 :(得分:1)
您在函数参数中缺少self
。
其余的事情都很好。
尝试一下。