Python Glossary English

все Python 3doctestпонятие

doctest.OutputChecker

строительные блоки

Сравнивает ожидаемый и полученный вывод примера: check_output() решает, совпали ли они, с учётом флагов вроде ELLIPSIS.

Синтаксис

doctest.OutputChecker().check_output(want, got, optionflags)

Сравнение — по тексту, а не по значению: 3.0 и 3, {1, 2} и {2, 1}, разные адреса <... at 0x...> различаются. Исключение одно и неочевидное: True принимается за 1 и False за 0, если не задан DONT_ACCEPT_TRUE_FOR_1. ELLIPSIS разрешает ..., NORMALIZE_WHITESPACE — разные пробелы; наследник может добавить свои правила.

Примеры

import doctest
check = doctest.OutputChecker().check_output
print(check("3\n", "3.0\n", 0))  # → False — сравнивается текст
print(check("[1, ..., 5]\n", "[1, 2, 3, 4, 5]\n", doctest.ELLIPSIS))  # → True
print(check("a b\n", "a    b\n", doctest.NORMALIZE_WHITESPACE))  # → True
print(check("True\n", "1\n", 0), check("True\n", "1\n", doctest.DONT_ACCEPT_TRUE_FOR_1))  # → True False

См. также

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