2016-08-09 56 views
0

我有一个ScheduledExecutorService设置为每隔几分钟更新一些对象。ScheduledExecutorService内的测试代码

我想测试更新是否发生,当然还有一些边缘情况。

scheduler.scheduleAtFixedRate(()-> { 
    //Code to update objects 
}, 0, 4, TimeUnit.MINUTES); 

我不知道我将如何去测试,也许嘲笑他,所以我不必依靠的Thread.sleep

回答

0

注意scheduleAtFixedRate方法返回一个Future,所以你不应该使用Thread.sleep ,但是其中的一种方法是Future#get

另一个建议是用一个可配置参数替换硬编码时间延迟(4分钟),以便您可以从测试中更改它。