Thread.sleep в тесте junit также вызывает InterruptedException - PullRequest
0 голосов
/ 07 мая 2020

Моя версия Junit - 4.12

@Test
public void test()throws InterruptException{
   doSomething();
   Thread.sleep(1000);
   AssertResult();
}

Когда я запускаю mvn test. У меня возникло исключение InterruptException, но когда я запускаю ItelliJ Idea, этот случай пройдет. Даже если я добавлю тайм-аут в свой тестовый пример таким образом, у меня все равно будет InterruptException.

@Test(timeout=10000)
public void test()throws InterruptException{
    doSomething();
    Thread.sleep(1000);
    AssertResult();
}

Затем я добавляю метод realSleep для его обработки. Затем регистр пройден, но я думаю, что это не изящное решение.

public static void realSleep(long time){
   long start = System.currentTimeMills();
   while(true){
       try{
           Thread.sleep(time)
       }catch(InterruptedException e){
       }
       if(System.currentTimeMills()-start>time){
           return
       }
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...