我有一个要测试的方法的实现。
@Override
public void onMessage(final Message message) {
try {
LOG.fine("waiting on semaphore for " + message);
semaphore.acquire();
LOG.fine("semaphore acquired for " + message);
listener.onMessage(message);
LOG.fine(message + " processed");
} catch (final InterruptedException e) {
throw new RuntimeException(e);
} finally {
semaphore.release();
}
}然而,我不确定如何从JUnit测试中拼装InterruptedException。从理论上讲,我可以添加钩子来终止它,但这会污染代码库,因为代码只用于测试,而我希望避免这种情况。
发布于 2012-06-04 03:31:15
您应该模拟信号量。您伪造的信号量应该抛出InterruptedException
https://stackoverflow.com/questions/10872863
复制相似问题