How to suppress py.test internal deprecation warnings

ev-br picture ev-br · Nov 20, 2016 · Viewed 38.3k times · Source

Is there a way to suppress the pytest's internal deprecation warnings?

Context: I'm looking to evaluate the difficulty of porting a test suite from nose to pytest. The suite is fairly large and heavily uses nose-style yield based test generators.

I'd like to first make sure the existing tests pass with pytest, and then maybe change test generators to parameterized.

Just running $ pytest path-to-test-folder with pytest 3.0.4 is completely dominated by pages and pages of

WC1 ~repos/numpy/numpy/lib/tests/test_twodim_base.py yield tests are deprecated, and scheduled to be removed in pytest 4.0

Is there a way of turning these warnings off?

Answer

Blaise picture Blaise · Jun 12, 2018

pytest -p no:warnings, or add the following to your pytest.ini or tox.ini:

[pytest]
addopts = -p no:warnings

The result will be green without any indication of warnings. See documentation at https://docs.pytest.org/en/latest/warnings.html#disabling-warnings-summary.

This can be a valid use case for a test suite where you want clean output.

Be aware that always hiding all warnings may cause you to miss important warnings. If you want to hide only specific warnings, look at Cloc's answer.