Как заставить pytest писать цветной вывод?

Как заставить pytest показать результаты в цвете, даже при записи в трубу? Похоже, для этого не существует какой-либо опции командной строки.

Ответ 1

Библиотека "py", которую использует pytest, не будет использовать цвет, если он не обнаружит терминал. Я закончил тем, что внес изменения в него, чтобы установить переменную окружения (PY_FORCE_COLOR=1), чтобы заставить цвет.

Я представил PR для этого: https://bitbucket.org/hpk42/py/pull-request/10/add-an-environment-variable-py_force_color

В настоящее время я устанавливаю свою вилку для этого:

pip install hg+https://[email protected]/msabramo/[email protected]_force_color

Ответ 2

Начиная с версии 2.5.0, py.test имеет опцию --color=yes

Начиная с версии 2.7.0, это также можно сделать:

export PYTEST_ADDOPTS="--color=yes"