Python Glossary English

все Python 3doctestпонятие

doctest.DocTestRunner

строительные блоки

Исполняет DocTest и сверяет вывод примеров через OutputChecker; run() возвращает TestResults и печатает отчёт о провалах.

Синтаксис

doctest.DocTestRunner(checker=None, verbose=None, optionflags=0).run(test, out=None)

Отчёт по умолчанию идёт в sys.stdout, перенаправить его можно аргументом out= у run(). После run() пространство имён теста очищается (clear_globs=True), так что значения переменных потом не посмотреть. Флаги сравнения задаются в optionflags для всех примеров сразу, а итоги по всем запущенным тестам даёт summarize().

Примеры

import doctest
test = doctest.DocTestParser().get_doctest(">>> [1, 2, 3, 4]\n[1, ..., 4]\n", {}, "t", None, 0)
report = []
plain = doctest.DocTestRunner().run(test, out=report.append)
print(plain.failed, len(report) > 0)  # → 1 True — отчёт ушёл в список
test = doctest.DocTestParser().get_doctest(">>> [1, 2, 3, 4]\n[1, ..., 4]\n", {}, "t", None, 0)
print(doctest.DocTestRunner(optionflags=doctest.ELLIPSIS).run(test))  # → TestResults(failed=0, attempted=1)

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности