我设置了ScheduledExecutorService,每隔几分钟更新一些对象。
我正在尝试测试更新是否正在发生,当然还有一些边缘情况。
scheduler.scheduleAtFixedRate(()-> {
//Code to update objects
}, 0, 4, TimeUnit.MINUTES);
我想知道我将如何进行测试,并且可能会嘲笑这个,所以我不必依赖Thread.sleep
答案 0 :(得分:0)
请注意,scheduleAtFixedRate
方法会返回Future
,因此您不应使用Thread.sleep
,而应使用其中一种Future#get
方法。
另一个建议是使用可配置参数替换硬编码时间延迟(4分钟),以便您可以从测试中更改它。