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