0

Я пытаюсь выполнить тестирование маленькой части логики, использующей 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

take() блокируется, пока что-то не произойдет. pollEvents() затем дает вам конкретные события.