0
多くの警告を生成する可能性のあるPythonテストがあります。テストが終了したら、警告があれば例外を発生させたい。Python警告を待ち、例外を発生させます
リモートビルドボットを使用しているため、一度にすべての警告を表示したいので、テストを最後まで実行してからraiseすることが重要です。
どうすればよいですか?
多くの警告を生成する可能性のあるPythonテストがあります。テストが終了したら、警告があれば例外を発生させたい。Python警告を待ち、例外を発生させます
リモートビルドボットを使用しているため、一度にすべての警告を表示したいので、テストを最後まで実行してからraiseすることが重要です。
どうすればよいですか?
私は昨日尋ねましたが、後で答えを見つけました。 このテクニックは興味深いものです。私はそれを共有したいと思います。
モジュールがwarningsモジュールで警告を作成するとき、モジュールは警告を保持する特別な変数にこれらの警告を格納します。だから私の場合、パーサーモジュールは警告を出します。私は単にそれがそのいつもの仕事をしてみましょう、とテストの終わりに来る:
if hasattr(parser, "__warningregistry__"):
raise RuntimeError("There are errors, see above.")
この方法では、私は、どのような方法で私のパーサを変更する必要がありますが、実行の最後にはありませんI例外が発生し、すべての警告が表示されます。その後、すべてのケースを修正し、ビルドボットの別の実行を開始することができます。
警告モジュールを使用していますか? https://docs.python.org/3.6/library/warnings.html?highlight=warnings#module-warnings – WombatPM
はい、見つけたのはそれほど簡単ではありません。 –