РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
965 of 1593 menu

Метод testing.T.Deadline

Метод testing.T.Deadline возвращает время (time.Time), когда текущий тест должен быть завершен. Если тест выполняется дольше указанного времени, Go завершит его принудительно. Метод возвращает два значения: время завершения и булево значение, указывающее, установлен ли дедлайн для теста. Если дедлайн не установлен, второе значение будет false.

Синтаксис

t.Deadline()

Пример

Давайте проверим, установлен ли дедлайн для теста:

package main import ( "fmt" "testing" "time" ) func TestDeadline(t *testing.T) { deadline, ok := t.Deadline() if ok { fmt.Printf("deadline: %v\n", deadline) } else { fmt.Println("deadline not set") } }

Результат выполнения кода (если тест запущен с флагом -timeout):

"deadline: 2026-09-04 15:30:00 +0000 UTC"

Пример

Давайте вычислим оставшееся время до завершения теста:

package main import ( "fmt" "testing" "time" ) func TestRemainingTime(t *testing.T) { deadline, ok := t.Deadline() if ok { remaining := time.Until(deadline) fmt.Printf("remaining time: %v\n", remaining) } else { fmt.Println("deadline not set") } }

Результат выполнения кода:

"remaining time: 5m0s"

Пример

Давайте используем дедлайн для прерывания долгой операции:

package main import ( "fmt" "testing" "time" ) func TestLongOperation(t *testing.T) { deadline, ok := t.Deadline() if !ok { t.Skip("deadline not set, skipping test") } remaining := time.Until(deadline) if remaining < time.Second { t.Skip("not enough time to complete the test") } time.Sleep(500 * time.Millisecond) fmt.Println("operation completed successfully") }

Результат выполнения кода:

"operation completed successfully"

Смотрите также

  • метод testing.T.FailNow,
    который немедленно завершает выполнение теста
  • метод testing.T.Skip,
    который пропускает текущий тест
  • метод testing.T.Parallel,
    который позволяет запускать тесты параллельно
  • метод testing.T.Cleanup,
    который регистрирует функцию для выполнения после завершения теста
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить