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