Метод testing.T.Skipped
Метод testing.T.Skipped проверяет,
был ли пропущен текущий тест с помощью методов
Skip, Skipf или SkipNow.
Он возвращает true, если тест был пропущен,
и false в противном случае. Этот метод полезен
для условной логики в тестах, когда необходимо
определить, было ли выполнение теста прервано.
Синтаксис
t.Skipped()
Пример 1
Давайте проверим, возвращает ли метод Skipped
true после вызова Skip:
package main
import (
"testing"
)
func TestSkippedAfterSkip(t *testing.T) {
t.Skip("Skipping test for demonstration")
if t.Skipped() {
// Этот код не выполнится, но метод Skipped вернет true
}
}
Пример 2
Проверим, возвращает ли метод Skipped
false, если тест не был пропущен:
package main
import (
"testing"
)
func TestNotSkipped(t *testing.T) {
if t.Skipped() {
t.Error("Test should not be skipped")
}
}
Пример 3
Используем метод Skipped для условного
выполнения логики в зависимости от статуса пропуска:
package main
import (
"testing"
)
func TestConditionalLogic(t *testing.T) {
// Условный пропуск теста
if testing.Short() {
t.Skip("Skipping in short mode")
}
// Проверяем статус пропуска
if t.Skipped() {
// Этот код не выполнится, так как Skip прерывает выполнение
} else {
// Выполняем основной код теста
}
}
Пример 4
Используем метод Skipped для проверки
пропуска в подтестах:
package main
import (
"testing"
)
func TestSubtestSkipped(t *testing.T) {
t.Run("subtest 1", func(t *testing.T) {
t.Skip("Skipping subtest 1")
if t.Skipped() {
// Этот код не выполнится
}
})
t.Run("subtest 2", func(t *testing.T) {
if t.Skipped() {
t.Error("Subtest 2 should not be skipped")
}
})
}
Смотрите также
-
метод
testing.T.Skip,
который пропускает текущий тест с сообщением -
метод
testing.T.Skipf,
который пропускает тест с форматированным сообщением -
метод
testing.T.SkipNow,
который немедленно пропускает тест -
метод
testing.T.Failed,
который проверяет статус завершения теста