6

私は pytest を使用して Python パッケージでテストを実行しています。テストの一部として実行されるコードのいずれかが非推奨の警告を発生させているかどうかを知りたい (すべてのテストが合格している場合)。これを行う方法を知っている人はいますか?

4

2 に答える 2

1

pytest 3.1 以降では、セッションの最後に警告が自動的に表示されます: https://docs.pytest.org/en/latest/warnings.htmlを参照してください。

于 2017-10-06T11:22:00.207 に答える
1

コード

import warnings
warnings.simplefilter("error")

(すべての)警告をエラーに変えるので、役立つかもしれません。

または、生成された警告のリストを取得できます

import warnings

with warnings.catch_warnings(record=True) as w:
    warnings.warn("deprecated", DeprecationWarning)
    print(w)

#>>> [<warnings.WarningMessage object at 0x7fee80484f50>]

そして、そのリストでアサートします。

于 2013-09-20T16:35:03.147 に答える