Метод testing.T.SkipNow
Метод testing.T.SkipNow немедленно останавливает выполнение текущего теста,
помечая его как пропущенный с помощью testing.T.Skip.
В отличие от testing.T.Skip, этот метод не требует передачи сообщения
и останавливает выполнение теста мгновенно, без выполнения последующего кода.
Метод не принимает никаких параметров и не возвращает значений.
Синтаксис
t.SkipNow()
Пример
Давайте рассмотрим базовый пример использования метода SkipNow:
package main
import (
"testing"
)
func TestExample(t *testing.T) {
t.SkipNow()
t.Log("Это сообщение не будет выведено")
}
Результат выполнения команды go test -v:
=== RUN TestExample
--- SKIP: TestExample (0.00s)
Пример
Метод SkipNow часто используется вместе с условными проверками
для пропуска тестов при определенных условиях:
package main
import (
"os"
"testing"
)
func TestWithCondition(t *testing.T) {
if os.Getenv("SKIP_TEST") != "" {
t.SkipNow()
}
t.Log("Тест выполняется, так как переменная окружения не установлена")
}
Пример
Важно отметить, что SkipNow немедленно прерывает выполнение,
поэтому последующий код не выполняется:
package main
import (
"testing"
)
func TestSkipNowOrder(t *testing.T) {
t.Log("Это сообщение будет выведено")
t.SkipNow()
t.Log("Это сообщение не будет выведено")
t.Error("Эта ошибка не будет вызвана")
}
Результат выполнения команды go test -v:
=== RUN TestSkipNowOrder
main_test.go:7: Это сообщение будет выведено
--- SKIP: TestSkipNowOrder (0.00s)
Смотрите также
-
метод
testing.T.Skip,
который пропускает тест с указанием причины -
метод
testing.T.Skipf,
который пропускает тест с форматированным сообщением -
метод
testing.T.Skipped,
который проверяет, был ли пропущен тест -
метод
testing.T.FailNow,
который немедленно останавливает выполнение теста с пометкой о провале