Python Glossary English

все Python 3doctestисключение

doctest.DocTestFailure

исключения

Исключение DebugRunner: вывод примера не совпал с ожидаемым. Несёт test, example и фактический вывод got.

Синтаксис

except doctest.DocTestFailure as e: e.test, e.example, e.got

Обычный DocTestRunner и testmod() его не бросают — они пишут отчёт. Исключение нужно, чтобы остановиться на первом расхождении и изучить его в коде или отладчике: e.example.want — ожидание, e.got — факт, оба с завершающим переводом строки.

Примеры

import doctest
test = doctest.DocTestParser().get_doctest(">>> 0.1 + 0.2\n0.3\n", {}, "t", None, 0)
try:
    doctest.DebugRunner().run(test)
except doctest.DocTestFailure as e:
    print(repr(e.example.want), repr(e.got))  # → '0.3\n' '0.30000000000000004\n'

См. также

Частые ошибки

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