Ich denke, Sie möchten nicht alle Warnungen verbergen, sondern nur diejenigen, die nicht relevant sind. In diesem Fall Warnungen vor Korrekturen von importierten Python-Modulen.
Lesen Sie die Pytest-Dokumentation zu Warnings Capture :
Sowohl -W - Befehlszeilenoption und filterwarnings ini - Option basiert auf Python eigenen -W Option und warnings.simplefilter , so verweisen wir auf die Abschnitte in der Python - Dokumentation für weitere Beispiele und erweiterte Nutzung.
So können Sie Warnungen mit der Python- -W
Option filtern !
Es scheint, dass pytest
Filter vollständig entfernt werden, da alle diese DeprecationWarning
beim Ausführen angezeigt werden. In der Python-Dokumentation zu Standardwarnfiltern heißt es eindeutig:
In regulären Release-Builds enthält der Standardwarnfilter die folgenden Einträge (in der Reihenfolge ihrer Priorität):
default::DeprecationWarning:__main__
ignore::DeprecationWarning
ignore::PendingDeprecationWarning
ignore::ImportWarning
ignore::ResourceWarning
Wenn Sie also beispielsweise DeprecationWarning
Warntypen filtern möchten, die Sie ignorieren möchten, z. B. diese , führen Sie einfach den Befehl pytest mit der folgenden -W
Option aus:
$ pytest path-to-test-folder -W ignore::DeprecationWarning
EDIT : Von Colini ‚s Kommentar, ist es möglich, Filter durch das Modul. Beispiel zum Ignorieren von Verfallswarnungen aus allen SQLalchemies:
ignore::DeprecationWarning:sqlalchemy.*:
Sie können dann Ihre installierten Module auflisten, die zu viel Rauschen in der Ausgabe von erzeugen pytest
Verwenden Sie mit Datei anstatt in der Befehlszeile:
Möglicherweise möchten Sie diese Filter lieber in der Datei pytest.ini auflisten:
[pytest]
filterwarnings =
ignore::DeprecationWarning