py.test: error: unrecognized arguments: --cov=ner_brands --cov-report=term-missing --cov-config
when I am trying to run my test through command line
py.test file_name.py
I got this error:
py.test: error: unrecognized arguments: --cov=ner_brands --cov-report=term-missing --cov-config
How can I fix this?
Solution 1:
pytest-cov package is required if you want to pass --cov arguments to pytest, by default it should not be passed though. Are you using a modified version of py.test?
pip install pytest-cov
would fix your issue.
Solution 2:
For those who use CentOS 6, the version of setuptools
is old and you need to upgrade it also:
pip install pytest-cov
pip install --upgrade setuptools
Just after installing 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
Solution 3:
If the other answers here didn't work for you, you may have py.test installed somewhere else in your system. In my case, I ran into the issue described here inside a virtual environment, but it turned out that pytest was defaulting to my system installation (which did not have pytest-cov installed).
Deactivate your virtual environment or start a new shell and run the following to confirm:
pip3 freeze | grep pytest
(or pip freeze | grep pytest
if you're running python2)
If you find it, try uninstalling it, then reactivate your virtual environment and try again.