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

Метод testing.T.Parallel

Метод testing.T.Parallel помечает текущий тест как подлежащий параллельному выполнению. Когда тест вызывает этот метод, он сообщает средству выполнения тестов, что готов к параллельному запуску вместе с другими параллельными тестами. Вызов метода должен происходить внутри функции теста, обычно после завершения подготовительных операций.

Синтаксис

func TestXxx(t *testing.T) { t.Parallel() // код теста }

Пример

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

package main import ( "testing" "time" ) func TestA(t *testing.T) { t.Parallel() time.Sleep(2 * time.Second) t.Log("TestA completed") } func TestB(t *testing.T) { t.Parallel() time.Sleep(2 * time.Second) t.Log("TestB completed") }

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

"TestA completed" "TestB completed"

Пример

Параллельные тесты можно комбинировать с последовательными:

package main import ( "testing" "time" ) func TestSequential(t *testing.T) { time.Sleep(1 * time.Second) t.Log("Sequential test") } func TestParallel1(t *testing.T) { t.Parallel() time.Sleep(2 * time.Second) t.Log("Parallel test 1") } func TestParallel2(t *testing.T) { t.Parallel() time.Sleep(2 * time.Second) t.Log("Parallel test 2") }

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

"Sequential test" "Parallel test 1" "Parallel test 2"

Пример

Использование t.Parallel с подтестами, запускаемыми через t.Run:

package main import ( "testing" "time" ) func TestMain(t *testing.T) { t.Parallel() t.Run("subtest1", func(t *testing.T) { t.Parallel() time.Sleep(1 * time.Second) t.Log("Subtest 1") }) t.Run("subtest2", func(t *testing.T) { t.Parallel() time.Sleep(1 * time.Second) t.Log("Subtest 2") }) }

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

"Subtest 1" "Subtest 2"

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

  • метод testing.T.Run,
    который запускает подтесты внутри основного теста
  • метод testing.T,
    основной тип для работы с тестами в Go
  • метод testing.B,
    который используется для бенчмарков
  • метод benchmark,
    который позволяет измерять производительность кода
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить