все 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Сообщить о неточности