все Python 3doctestпонятие
doctest.Example
строительные блоки
Один пример доктеста: исходный код после >>> и ожидаемый вывод, плюс номер строки, отступ и директивы.
Синтаксис
doctest.Example(source, want, exc_msg=None, lineno=0, indent=0, options=None)
source и want всегда заканчиваются переводом строки — want без вывода равен '', а не '\n'. Ожидаемый вывод кончается на пустой строке, поэтому настоящую пустую строку в выводе пишут как <BLANKLINE>. Для примера с исключением exc_msg хранит сообщение, а директивы лежат в options как {флаг: True}.
Примеры
import doctest
ex = doctest.DocTestParser().get_examples(">>> print('a\\n\\nb')\na\n<BLANKLINE>\nb\n")[0]
print(repr(ex.source), repr(ex.want)) # → "print('a\\n\\nb')\n" 'a\n<BLANKLINE>\nb\n'
bad = doctest.DocTestParser().get_examples(">>> 1/0\nTraceback (most recent call last):\nZeroDivisionError: division by zero\n")[0]
print(repr(bad.exc_msg)) # → 'division by zero\n'
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности