webentwicklung-frage-antwort-db.com.de

py.test: Fehler: Nicht erkannte Argumente: --cov = ner_brands --cov-report = Begriff fehlt --cov-config

wenn ich versuche, meinen Test über die Befehlszeile auszuführen

py.test  file_name.py

Ich habe diesen Fehler erhalten:

py.test: error: unrecognized arguments: --cov=ner_brands --cov-report=term-missing --cov-config

Wie kann ich das beheben?

30
Hello lad

pytest-cov package ist erforderlich, wenn Sie --cov-Argumente an pytest übergeben möchten, standardmäßig sollte es jedoch nicht übergeben werden. Verwenden Sie eine modifizierte Version von py.test?

pip install pytest-cov

würde dein Problem beheben.

53
sdonk

Für diejenigen, die CentOS 6 verwenden, ist die Version von setuptools alt und Sie müssen sie auch aktualisieren:

pip install pytest-cov
pip install --upgrade setuptools

Gleich nach der Installation von 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

sdonks Antwort hat mir geholfen. Aber da ich pipenv benutze, musste ich laufen

pipenv install pytest_cov
1
Brontes

Wenn die anderen Antworten für Sie nicht funktionierten, haben Sie py.test möglicherweise an einem anderen Ort in Ihrem System installiert. In meinem Fall bin ich auf das hier beschriebene Problem in einer virtuellen Umgebung gestoßen, aber es stellte sich heraus, dass pytest standardmäßig auf meiner Systeminstallation (auf der pytest-cov nicht installiert war) war.

Deaktivieren Sie Ihre virtuelle Umgebung oder starten Sie eine neue Shell und führen Sie zur Bestätigung Folgendes aus:

pip3 freeze | grep pytest

(oder pip freeze | grep pytest, wenn Sie Python2 ausführen)

Wenn Sie es gefunden haben, deinstallieren Sie es, reaktivieren Sie Ihre virtuelle Umgebung und versuchen Sie es erneut.

0