Come si impone a pytest di mostrare i risultati a colori, anche quando si scrive su una pipe? Non sembra esserci alcuna opzione da linea di comando per farlo.Come posso forzare pytest a scrivere l'output a colori?
risposta
La libreria "py" che usa pytest non utilizzerà il colore se non rileva un terminale. Ho finito per apportare una modifica ad esso per consentire l'impostazione di una variabile ambientale (PY_FORCE_COLOR=1
) per forzare il colore.
ho presentato un PR per questo: https://bitbucket.org/hpk42/py/pull-request/10/add-an-environment-variable-py_force_color
Per ora, posso installare la forchetta per fare questo:
pip install hg+https://[email protected]/msabramo/[email protected]_force_color
A partire dal 2.5.0 py.test ha la possibilità --color=yes
A partire da 2.7.0, dovrebbe anche essere possibile fare:
export PYTEST_ADDOPTS="--color=yes"
A partire da 2.5.0, (http://pytest.org/latest/changelog.html#id8). – valid
come già detto, penso che dovremmo introdurre direttamente l'opzione '' --color = yes | no | auto'' su pytest. – hpk42
py.test ora ha l'opzione che @ hpk42 menziona. –