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?
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?
Antworten:
Das Paket pytest-cov 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 Ihr Problem beheben.
Für diejenigen, die CentOS 6 verwenden, ist die Version von setuptoolsalt und Sie müssen sie auch aktualisieren:
pip install pytest-cov
pip install --upgrade setuptools
Kurz nach der Installation 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
Wenn die anderen Antworten hier bei Ihnen nicht funktioniert haben, haben Sie möglicherweise py.test an einer anderen Stelle in Ihrem System installiert. In meinem Fall bin ich in einer virtuellen Umgebung auf das hier beschriebene Problem gestoßen, aber es stellte sich heraus, dass pytest standardmäßig meine Systeminstallation verwendete (auf der pytest-cov nicht installiert war).
Deaktivieren Sie Ihre virtuelle Umgebung oder starten Sie eine neue Shell und führen Sie Folgendes aus, um dies zu bestätigen:
pip3 freeze | grep pytest
(oder pip freeze | grep pytestwenn Sie python2 ausführen)
Wenn Sie es finden, deinstallieren Sie es, reaktivieren Sie dann Ihre virtuelle Umgebung und versuchen Sie es erneut.
Es stellt sich heraus, dass meine Versionen nicht übereinstimmen.
Ich habe die Versionen auf geändert
pytest="*"
pytest-cov="*"
und es fing an zu arbeiten.
Auf meinem Ubuntu hatte ich auch ein ähnliches Problem, das durch eine falsche Binärdatei für Folgendes verursacht wurde pytest:
py.test --version
This is pytest version 4.6.11, imported from /home/myhome/.local/lib/python2.7/site-packages/pytest.pyc
Aber mein aktuelles Python-Setup ( python --version) war 3.7.7.. Ich musste stattdessen Folgendes ausführen:
python -m pytest --version
pytest 6.2.1
Ebenso können Sie laufen python -m pytest file_name.pyoder für die Abdeckungpython -m pytest --cov=my_project tests/ .
Ich empfehle immer, dies zu überprüfen, insbesondere wenn es Probleme gibt, und ich denke, es ist eine gute Praxis, dies auszuführen, -manstatt es pytestdirekt zu verwenden, da dies leicht auf eine andere Version verweist als die, die in Ihrer aktuellen Python-Umgebung verwendet werden sollte. (Siehe ähnliche Erklärung hier .)