Python unittest, как отобразить строку документации методов TestCase в отчете?
Название вопроса самоочевидно. Есть ли способ для
class Foo(TestCase):
def test_bar(self):
"""
a docstring
"""
сделать UnitTest
отчет отображать всю строку документации?
Я читал, что будет напечатана первая строка строки документации (поэтому написание
""" a docstring """
без разрывов строк работает)
Я прочитал вопрос: как остановить Python unittest от печати тестовой строки документации?
Тем не менее, речь идет об удалении строки документации, и я не знаю, как переопределить shortDescription()
показать полную строку документации.
1 ответ
(Я не пробовал это)
В ответе на вопрос, связанный с SO, говорится:
ответственный метод
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"