Автор оригинала: Pankaj Kumar.
Мы можем указать время ожидания для наших тестовых тестов. Это можно сделать в тестовом классе, установив Тайм-аут свойство @Test аннотации.
Если методы тестирования не завершаются в указанное время ожидания, org.testng.internal.thread.Исключение ThreadTimeoutException выбрасывается, и метод помечается как неудачный.
Время Ожидания тестирования @Пример теста
Вот простой класс, в котором для методов тестирования указывается время ожидания.
package com.journaldev.timeout;
import org.testng.annotations.Test;
public class TimeoutExample {
@Test(timeOut = 300)
public void foo() throws InterruptedException {
Thread.sleep(200);
System.out.println("foo method executed");
}
@Test(timeOut = 300)
public void bar() throws InterruptedException {
Thread.sleep(400);
System.out.println("bar method executed");
}
}
Когда мы выполняем вышеописанный класс, мы получаем следующий вывод.
[RemoteTestNG] detected TestNG version 6.14.3 foo method executed PASSED: foo FAILED: bar org.testng.internal.thread.ThreadTimeoutException: Method com.journaldev.timeout.TimeoutExample.bar() didn't finish within the time-out 300
Пример тайм-аута XML TestNG
Мы также можем указать значение тайм-аута в XML-пакете, как на уровне пакета, так и на уровне тестирования. Если в обоих местах указан тайм-аут, то для выполнения методов тестирования учитывается наименьшее значение.
Давайте рассмотрим это на простом примере пакета XML TestNG.
Обратите внимание, что время ожидания на уровне пакета составляет 500 мс, в то время как время ожидания на уровне теста составляет 300 мс. Когда он выполняется, мы получаем следующий вывод.
foo method executed PASSED: foo FAILED: bar org.testng.internal.thread.ThreadTimeoutException: Method com.journaldev.timeout.TimeoutExample.bar() didn't finish within the time-out 300
Измените время ожидания на уровне пакета на 300 мс, а время ожидания на уровне теста-на 500 мс. Мы все равно получим то же исключение, что и выше, это означает, что для выполнения рассматривается наименьшее значение тайм-аута.
Это все для краткого ознакомления с конфигурациями тайм-аута тестирования.