アサーションを使用した Python 関数の例外のテスト
堅牢なコードを記述するには、多くの場合、例外を適切に処理する必要があります。関数が予想される例外をスローすることを確認することは、防御プログラミング機能をテストするために不可欠です。
質問: Python 関数が特定の例外をスローするかどうかをアサートする単体テストを作成するにはどうすればよいですか?
答え: Unittest モジュールのassertRaises メソッドを利用します。このメソッドは、予期される例外クラスと呼び出される関数の 2 つの引数を取ります。関数がテスト中に予期された例外をスローできなかった場合、テストは失敗します。
例:
<code class="python">import mymod import unittest class MyTestCase(unittest.TestCase): def test1(self): self.assertRaises(SomeCoolException, mymod.myfunc)</code>
この例では、テスト メソッド test1 は次のようにアサートします。 mymod モジュールの関数 myfunc は、呼び出されると SomeCoolException 型の例外をスローします。例外がスローされない場合、テストは失敗します。
この手法は、Python 関数の例外処理機能を検証するための簡潔で効果的な方法であり、さまざまなシナリオで意図したとおりに動作することを確認します。
以上が「assertRaises」を使用してPython関数で例外スローをアサートする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。