quand j'essaie de lancer mon test en ligne de commande
py.test file_name.py
J'ai eu cette erreur:
py.test: error: unrecognized arguments: --cov=ner_brands --cov-report=term-missing --cov-config
Comment puis-je réparer cela?
Le paquet pytest-cov est requis si vous voulez passer les arguments --cov à pytest. Par défaut, il ne devrait pas être transmis. Utilisez-vous une version modifiée de py.test?
pip install pytest-cov
réglerait votre problème.
Pour ceux qui utilisent CentOS 6, la version de setuptools
est ancienne et vous devez également la mettre à niveau:
pip install pytest-cov
pip install --upgrade setuptools
Juste après avoir installé pip install pytest-cov
:
~ # py.test --version
This is pytest version 3.0.5, imported from /usr/lib/python2.6/site-packages/pytest.pyc
~ # pip install --upgrade setuptools
[...]
Successfully installed setuptools-30.3.0
~ # py.test --version
This is pytest version 3.0.5, imported from /usr/lib/python2.6/site-packages/pytest.pyc
setuptools registered plugins:
pytest-cov-2.4.0 at /usr/lib/python2.6/site-packages/pytest_cov/plugin.py
la réponse de Sdonk m'a aidé. Mais depuis que j'utilise pipenv, je devais courir
pipenv install pytest_cov
Si les autres réponses ne vous conviennent pas, il est possible que py.test soit installé ailleurs sur votre système. Dans mon cas, j'ai rencontré le problème décrit ici dans un environnement virtuel, mais il s'est avéré que pytest utilisait par défaut l'installation de mon système (sur lequel pytest-cov n'était pas installé).
Désactivez votre environnement virtuel ou démarrez un nouveau shell et exécutez les opérations suivantes pour confirmer:
pip3 freeze | grep pytest
(ou pip freeze | grep pytest
si vous utilisez python2)
Si vous le trouvez, essayez de le désinstaller, puis réactivez votre environnement virtuel et réessayez.