Подтвердить что ты не робот

Как остановить Python unittest от печати тестовой docstring?

Я заметил, что, когда мои тестовые тесты Python содержат документацию в верхней части функции, иногда структура печатает их в тестовом выпуске. Обычно тестовый вывод содержит один тест на строку:

<test name> ... ok 

Если у теста есть docstring формы

"""
test that so and so happens
"""

чем все хорошо. Но если в тесте есть docstring все в одной строке:

"""test that so and so happens"""

тогда тестовый вывод принимает более одной строки и включает в себя такой документ:

<test name>
test that so and so happens ... ok

Я не могу найти, где это задокументированное поведение. Есть ли способ отключить это?

4b9b3361

Ответ 1

Используется первая строка docstring; ответственный метод TestCase.shortDescription(), который вы можете переопределить в своих тестовых окнах:

class MyTests(unittest.TestCase):
    #  ....
    def shortDescription(self):
        return None

Всегда возвращая None, вы полностью отключите эту функцию. Если вы хотите форматировать docstring по-разному, он доступен как self._testMethodDoc.