web-dev-qa-db-fra.com

py.test: erreur: arguments non reconnus: --cov = ner_brands --cov-report = terme manquant --cov-config

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?

30
Hello lad

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.

53
sdonk

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
3
Samuel Phan

la réponse de Sdonk m'a aidé. Mais depuis que j'utilise pipenv, je devais courir

pipenv install pytest_cov
1
Brontes

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.

0