Python Glossary English

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