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