コマンドラインからテストを実行しようとしているとき
py.test file_name.py
私はこのエラーを受け取りました:
py.test: error: unrecognized arguments: --cov=ner_brands --cov-report=term-missing --cov-config
どうすれば修正できますか?
--coy引数をpytestに渡したい場合は、 pytest-cov package が必要です。デフォルトでは、渡す必要はありません。 py.testの修正版を使用していますか?
pip install pytest-cov
あなたの問題を修正します。
CentOS 6を使用している場合は、setuptools
のバージョンが古いため、アップグレードする必要があります。
pip install pytest-cov
pip install --upgrade setuptools
インストール直後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
sdonkの答えは私を助けてくれました。しかし、私はpipenvを使用しているので、実行する必要がありました
pipenv install pytest_cov
ここの他の回答がうまくいかなかった場合、py.testがシステムのどこかにインストールされている可能性があります。私の場合、仮想環境内でここで説明した問題に遭遇しましたが、pytestがシステムインストール(pytest-covがインストールされていない)にデフォルト設定されていたことがわかりました。
仮想環境を非アクティブ化するか、新しいシェルを起動し、次を実行して確認します。
pip3 freeze | grep pytest
(またはpip freeze | grep pytest
python2を実行している場合)
見つかった場合は、アンインストールしてから、仮想環境を再アクティブ化してから再試行してください。