gpt4 book ai didi

java - 如何从 JUnit 线程中断信号量?

转载 作者:行者123 更新时间:2023-12-01 15:21:19 25 4
gpt4 key购买 nike

我有一个想要测试的方法的实现。

    @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。理论上,我可以添加钩子(Hook)来终止它,但这会污染代码库,因为代码仅用于测试,而我想避免这种情况。

最佳答案

你应该模拟信号量。你的伪造信号量应该抛出 InterruptedException

关于java - 如何从 JUnit 线程中断信号量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10872863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com