У меня есть код, для которого у меня есть doctest, например.
def foo(x):
"""
Examples:
>>> s = foo()
>>> print(repr(s))
'\x1b[0;35mfoo\x1b[0m \x1b[0;36mbar\x1b[0m'
>>> print(s)
foo bar
"""
return '\u001b[0;35mfoo\u001b[0m \u001b[0;36mbar\u001b[0m'
Конечно, в терминале, поддерживающем экранирование ANSI, последние print()
на самом деле окрашены.
Однако, если я запущу doctest
здесь, я получу провальный тест. Как я мог это решить?
Я надеялся либо найти способ вставки экранов ANSI, либо, что предпочтительнее, директиву doctest для их игнорирования, но я не смог найти никакой информации об этом в документы.