Betrachten wir einige Code, der, sagen wir,Wie wiederholbare Unit-Tests von Code, der mit Thread.interrupt funktioniert?
file = new RandomAccessFile(x, "r");
file.getChannel().map(....)
und will ruft einen ClosedByInterruptException Umstand behandeln. Ich bin überrascht, wie man einen realistischen, wiederholbaren Komponententest macht.
Um einen Test zu machen, muss ich irgendwie diesen Thread mit einem anderen Thread synchronisieren und den anderen Thread Thread # Interrupt zur richtigen Zeit aufrufen. Alle Grundelemente zum Warten sind jedoch gut unterbrechbar und löschen den Interrupt.
Für jetzt habe ich Thread.currentThread(). Interrupt in den Code getestet werden (wie durch den Komponententest angefordert), aber das ist nicht wirklich die gleiche Sache wie eine tatsächliche Async-Interrupt, oder?