Pytest-django: pytestでDjango固有の警告をキャッチする

作成日 2017年11月21日  ·  3コメント  ·  ソース: pytest-dev/pytest-django

https://docs.pytest.org/en/latest/warnings.htmlで説明されているように、 RemovedInNextVersionWarning警告をエラーに変えたいと思います。

残念ながら、pytest.iniに次の行を追加すると、次のようになります。

filterwarnings =
    error::RemovedInDjango20Warning

私は最終的に(Pythonの内部警告を厳密に探しています):

INTERNALERROR>   File "/myfolder/python3.6/warnings.py", line 236, in _getcategory
INTERNALERROR>     raise _OptionError("unknown warning category: %r" % (category,))
INTERNALERROR> warnings._OptionError: unknown warning category: 'RemovedInDjango20Warning'

プラグインとしてのpytest-djangoは、pytestに、処理する可能性のあるより多くの警告を認識させる必要がありますか?

ボーナスの質問(少し範囲外):さらに良いのは、書かれたコードからのDjangoWarningsを、他のライブラリからの警告にフィルターで除外する可能性です:-)

bitesize documentation question

最も参考になるコメント

フルネームを使用します。

filterwarnings =
    error::django.utils.deprecation.RemovedInDjango20Warning

さらに良いのは、記述されたコードからのDjangoWarningsを、他のライブラリからの警告にフィルターで除外する可能性です。

私が推測するpytestのより多くの機能?!
これは、ロギングフィルターを使用して実現できます。ここで、 record.getMessage()はパスから始まります。

全てのコメント3件

フルネームを使用します。

filterwarnings =
    error::django.utils.deprecation.RemovedInDjango20Warning

さらに良いのは、記述されたコードからのDjangoWarningsを、他のライブラリからの警告にフィルターで除外する可能性です。

私が推測するpytestのより多くの機能?!
これは、ロギングフィルターを使用して実現できます。ここで、 record.getMessage()はパスから始まります。

甘い@blueyed !!!
ヒントをありがとう!

私はこれを使用して、具体的にいくつかの問題を破棄することになりました:

filterwarnings =
    error::django.utils.deprecation.RemovedInNextVersionWarning
    ignore::django.utils.deprecation.RemovedInNextVersionWarning:ajax_select.*

ドキュメントにそれについての言及がないのは残念です。 私はこれに関して小さなPRを提出するつもりです。 どこにあるべきですか? おそらくconfiguring_djangoで?

ドキュメントのPRは確かにいいでしょう。
私はそれらを本当に知りません、それであなたがそれを期待したであろうところにそれを置いてください..;)

このページは役に立ちましたか?
0 / 5 - 0 評価