Bence tüm uyarıları değil, sadece alakalı olmayanları gizlemek istiyorsunuz. Ve bu durumda, içe aktarılan python modüllerinden kullanımdan çıkarma uyarıları.
Uyarı Yakalama hakkında pytest belgelerini okuyun :
Hem -W komut satırı seçeneği hem de filtre uyarıları ini seçeneği Python'un kendi -W seçeneğine ve uyarılarına dayanmaktadır. Basitfilter , bu nedenle diğer örnekler ve gelişmiş kullanım için lütfen Python belgelerindeki bölümlere bakın.
Böylece uyarıları python -W
seçeneğiyle filtreleyebilirsiniz !
Görünüşe göre pytest
filtreleri tamamen kaldırıyor, çünkü DeprecationWarning
çalışırken hepsini gösteriyor ve Python'un Varsayılan Uyarı Filtreleri hakkındaki belgeleri açıkça şunu söylüyor:
Normal sürüm yapılarında, varsayılan uyarı filtresi aşağıdaki girişlere sahiptir (öncelik sırasına göre):
default::DeprecationWarning:__main__
ignore::DeprecationWarning
ignore::PendingDeprecationWarning
ignore::ImportWarning
ignore::ResourceWarning
Dolayısıyla sizin durumunuzda, göz ardı etmek istediğiniz uyarı türlerini filtrelemek istiyorsanız, örneğin bunlar gibi DeprecationWarning
, pytest komutunu şu -W
seçenekle çalıştırın :
$ pytest path-to-test-folder -W ignore::DeprecationWarning
DÜZENLEME : colini'nin yorumundan modüle göre filtrelemek mümkündür. Tüm sqlalchemy'den kullanımdan kaldırma uyarılarını göz ardı etme örneği:
ignore::DeprecationWarning:sqlalchemy.*:
Ardından, çıkışında çok fazla gürültü oluşturan kurulu modüllerinizi listeleyebilirsiniz. pytest
Komut satırı yerine dosya ile kullanın:
Bu filtreleri pytest.ini dosyasında listelemeyi tercih edebilirsiniz:
[pytest]
filterwarnings =
ignore::DeprecationWarning