考虑一些调用的代码,比如说,
file = new RandomAccessFile(x, "r");
file.getChannel().map(....)
并且想要处理 ClosedByInterruptException 情况。我对如何进行现实的、可重复的单元测试感到困惑。
为了进行测试,我需要以某种方式将此线程与其他线程同步,并导致其他线程在正确的时间调用 Thread#interrupt。但是,所有等待的原语都是可中断的,并且可以清除中断。
现在我在正在测试的代码中有 Thread.currentThread().interrupt(根据单元测试的要求),但这与实际的异步中断并不完全相同,是吗?