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

Метод testing.T.Skip

Метод testing.T.Skip используется для пропуска выполнения текущего теста или подтеста. Он принимает один параметр - сообщение с причиной пропуска. При вызове этого метода тест немедленно останавливается, помечается как пропущенный и не считается проваленным или успешным. Это полезно для случаев, когда тест не может быть выполнен из-за отсутствия необходимых условий, зависимостей или если функциональность временно недоступна.

Синтаксис

func (t *testing.T) Skip(args ...any)

Метод принимает аргументы в том же формате, что и fmt.Println. Сообщение о пропуске будет выведено в лог теста.

Пример

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

package main import ( "testing" ) func TestSkipExample(t *testing.T) { t.Skip("Skipping this test for demonstration") // Этот код не выполнится t.Fatal("This line will never be reached") }

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

"Skipping this test for demonstration"

Тест будет помечен как пропущенный (SKIP), и сообщение будет выведено в лог.

Пример

Рассмотрим условный пропуск теста на основе наличия переменной окружения:

package main import ( "os" "testing" ) func TestIntegrationWithDatabase(t *testing.T) { if os.Getenv("INTEGRATION_TESTS") == "" { t.Skip("Skipping integration test: INTEGRATION_TESTS not set") } // Выполнение интеграционного теста с базой данных t.Log("Running integration test with database") }

Если переменная окружения INTEGRATION_TESTS не установлена, тест будет пропущен с соответствующим сообщением. В противном случае тест выполнится.

Пример

Использование метода Skip внутри подтеста:

package main import ( "testing" ) func TestSubtestSkip(t *testing.T) { t.Run("Subtest A", func(t *testing.T) { t.Log("Running Subtest A") }) t.Run("Subtest B", func(t *testing.T) { if true { // Условный пропуск t.Skip("Skipping Subtest B") } t.Log("This will not be printed") }) t.Run("Subtest C", func(t *testing.T) { t.Log("Running Subtest C") }) }

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

"Running Subtest A" "Skipping Subtest B" "Running Subtest C"

Подтест B будет пропущен, тогда как подтесты A и C выполнятся без проблем. Это позволяет гибко управлять выполнением отдельных частей теста.

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

  • метод testing.T.Skipf,
    который позволяет форматировать сообщение пропуска
  • метод testing.T.SkipNow,
    который пропускает тест без вывода сообщения
  • метод testing.T.Skipped,
    который проверяет, был ли тест пропущен
  • метод testing.F.Skip,
    который пропускает fuzz-тест с указанием причины
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить