使用监视服务测试代码

时间:2014-10-08 08:51:54

标签: java multithreading unit-testing integration-testing watchservice

我试图对使用WatchService(Java 7)的一小块逻辑进行单元测试。虽然,由于无限循环,这被证明比预期更困难:

watchService.take();
while (key!=null) {
        for (WatchEvent ev : key.pollEvents()) {
            //CODE I want to test
        }
      key.reset();
    }
}

我有什么想法会这样做吗?是否可以在不使用无限循环的情况下实现相同的功能?另外,我不确定我理解key.take()和key.pollEvents()之间的区别。我需要两个吗?

1 个答案:

答案 0 :(得分:-1)

take()阻止,直到发生某些事情。 pollEvents()然后会为您提供特定事件。