I am using something like
# .coveragerc
fail_under = 100
and
# pytest.ini
[pytest]
addopts = --cov=modname/ --cov-report=term-missing
to make it so that my test suite runs the coverage and fails if it isn't 100%.
This works, but the problem is that if I run only a subset of the tests, like
pytest some/specific/test.py
it then complains that the coverage is not 100%, because of course that one single test file doesn't cover the entire codebase. Is there a better way to make pytest run coverage, but only when running the full test suite?
You can temporarily override your .coveragerc
by adding the following flag to your command:
--cov-fail-under=x
where x is the percentage to fail under (if you set this to 0, it will never fail based on the code coverage)
Thus, in your case you would run:
pytest some/specific/test.py --cov-fail-under=x
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With