Всем привет! Пытаюсь разобраться в работе Timeout в JUnit 5. Есть два ассерта для timeout
При использовании ассерта assertTimeout, если время теста превышает 30 секунд, тест выполняется, но заканчивается с ошибкой
@Test
void test_Call_Main_Window_Icon_Tree() {
assertTimeout(ofSeconds(30), () ->{
windowMain.getIconClientPanelTree().click();
assertTrue(windowMain.isMainWindow(), "Вызов главного окна через иконку в трее не работает");
}, () -> "Тест выполняется больше 30 секунд");
}
А вот при таком ассерте assertTimeoutPreemptively тест выполняется бесконечно долго, хотя в документации написано, что вроде как он должен вылетать с ошибкой, если время выполнения больше заданного
@Test
void test_Call_Main_Window_Icon_Tree() {
assertTimeoutPreemptively(ofSeconds(30), () ->{
windowMain.getIconClientPanelTree().click();
assertTrue(windowMain.isMainWindow(), "Вызов главного окна через иконку в трее не работает");
}, () -> "Тест выполняется больше 30 минут");
}
Почему во втором случае тест не падает с ошибкой?