失敗時にスローする関数をテストする最適な方法は何ですか?または、障害にかなり耐性のある機能をテストしますか?失敗時にスローする関数のテスト
たとえば、ポートを正しく初期化できない場合、コンストラクターにスローするI/O完了ポートクラスがあります。これは、初期設定リストにCreateIoCompletionPortのWin32関数を使用します。ハンドルが正しく設定されていない場合(null以外の値)、コンストラクターは例外をスローします。私はこの機能が失敗するのを見たことがありません。
私は私の質問は、a)は、それが
であるので、彼らは正しく動作します失敗した場合は、この(私のコードでそれのように、その他の機能)は、コードが長い空白を含めて50行であることをかなり確信していますそれがスローされることをテストする価値がある
b)とテストする価値がある場合、どのように?
c)これらは単体テストの単純なラッパークラスですか?
b)については、CreateIoCompletionPortをオーバーライドして値を渡すことを考えました。ユニットテストでそれをオーバーライドし、特定の値が渡されたときに0を返すようにします。しかし、これはコンストラクタで使用されるため、静的である必要があります。これは有効かどうか?