私は単なるPythonプログラミングの初心者であり、unittestモジュールに関するいくつかの質問があります。Pythonコンストラクタでの例外のユニットテスト
私はクラスを持っていますが、__init__
メソッドでは、悪い引数を調べるためにいくつかのアサーションを行っています。新しいインスタンスを作成するときに、そのようなAssertionErrorをチェックするunittestを作成したいと思います。
unittestモジュールでは、呼び出し可能呼び出し時に特定の例外をテストすることができます(ただし、assertRaises
)が、明らかにそのクラスのメソッドに適用されます。コンストラクタのテストを実行する適切な方法は何ですか?
不正な引数を持つクラスのインスタンスを作成しようとすると、unittestはテストの失敗を報告しますが、最初の例外の直後に停止します。複数のテストを複数回テスト機能は、まったくエレガントではありません。
後、私は、ctypesのといくつかのCライブラリをロードして...彼らに –
@asen_asenovをコンストラクタから引数を渡すために持っているので、私は、何かが早期に間違っていることを主張したいと思い、私の特定のケースではまあ、:その場合、 、あなたのctypes呼び出しを適切な変換でラップするだけです。 ctypes.c_int(param)。そうすれば、型が互換性があり、互換性のない型に対して自動的にエラーが発生します。 – nosklo