모든 경고를 숨기는 것이 아니라 관련없는 경고 만 숨기고 싶지 않다고 생각합니다. 그리고이 경우 가져온 파이썬 모듈의 사용 중단 경고입니다.
경고 캡처 에 대한 pytest 문서를 읽었습니다 .
-W 명령 줄 옵션과 filterwarnings ini 옵션은 모두 Python의 자체 -W 옵션 및 warnings.simplefilter를 기반으로 하므로 다른 예제와 고급 사용법은 Python 문서의 해당 섹션을 참조하세요.
따라서 파이썬의 -W
옵션으로 경고를 필터링 할 수 있습니다 !
실행할 때 pytest
모든 필터를 표시하기 때문에 필터 를 완전히 제거 하는 것으로 보이며 기본 경고 필터DeprecationWarning
에 대한 Python의 문서 는 다음과 같이 명확하게 말합니다.
일반 릴리스 빌드에서 기본 경고 필터에는 다음 항목이 있습니다 (우선 순위 순).
default::DeprecationWarning:__main__
ignore::DeprecationWarning
ignore::PendingDeprecationWarning
ignore::ImportWarning
ignore::ResourceWarning
따라서 귀하의 경우 무시하려는 경고 유형을 필터링하려면 다음과 같이 옵션을 사용 DeprecationWarning
하여 pytest 명령을 실행하십시오 -W
.
$ pytest path-to-test-folder -W ignore::DeprecationWarning
편집 : colini 의 의견에서 모듈별로 필터링이 가능합니다. 모든 sqlalchemy의 지원 중단 경고를 무시하는 예 :
ignore::DeprecationWarning:sqlalchemy.*:
그런 다음 출력에 너무 많은 노이즈를 생성하는 설치된 모듈을 나열 할 수 있습니다. pytest
명령 줄이 아닌 파일과 함께 사용 :
pytest.ini 파일에 이러한 필터를 나열하는 것이 좋습니다.
[pytest]
filterwarnings =
ignore::DeprecationWarning