スリープするモックストリームを使用せずに(割り込みに反応するため)、IOパフォーマンスが非常に悪い場合に、アプリケーションコードの動作をテストするにはどうすればよいですか?
たとえば、ConcurrentWrapperファイルIO用のスレッドのプールがあるユーティリティをテストしたいと思います。各操作をタイムアウト付きのwithExecutorServiceに送信します。タイムアウトの前に終了する呼び出しだけでなく、 (リークを回避するために)内部のスレッドが何らかの形で終了したこともinvokeAll()確認したいと思います。ConcurrentWrapperExecutorService
どういうわけか、内側のスレッドで遅いIOをシミュレートする必要がありますが、(実際のIOのように)割り込みを無視する方法で。
少し明確にするInterruptedException:「眠って飲み込む」や「眠って、捕まえInterruptedExceptionて眠りに戻る」のような答えは受け入れられません。コードが割り込みをどのように処理するかをテストしたいのですが、そのようなインストルメンテーションは、割り込み自体を処理することで目的を達成できません。