Python Glossary English

все Python 3doctestфункция

doctest.register_optionflag()

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

Регистрирует новое имя директивы doctest и возвращает его битовый флаг — для своих правил сравнения вывода.

Синтаксис

FLAG = doctest.register_optionflag(name)

Сам флаг ничего не делает: после регистрации директиву # doctest: +ИМЯ можно писать в примерах, но учесть её должен ваш наследник OutputChecker, проверяя optionflags & флаг. Повторная регистрация того же имени возвращает тот же бит, так что вызывать её при импорте безопасно.

Примеры

import doctest
IGNORE_CASE = doctest.register_optionflag("IGNORE_CASE")
print(IGNORE_CASE == doctest.register_optionflag("IGNORE_CASE"))  # → True
class Checker(doctest.OutputChecker):
    def check_output(self, want, got, optionflags):
        if optionflags & IGNORE_CASE:
            want, got = want.lower(), got.lower()
        return super().check_output(want, got, optionflags)
test = doctest.DocTestParser().get_doctest(">>> 'HI'  # doctest: +IGNORE_CASE\n'hi'\n", {}, "t", None, 0)
print(doctest.DocTestRunner(checker=Checker()).run(test))  # → TestResults(failed=0, attempted=1)

См. также

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