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

Метод testing.T.Fatal

Метод testing.T.Fatal предназначен для немедленной остановки выполнения теста. В качестве первого параметра метод принимает аргументы, аналогичные fmt.Print, которые выводятся в качестве сообщения об ошибке. После вызова Fatal тест считается проваленным, и его дальнейшее выполнение прекращается.

Синтаксис

t.Fatal(args ...interface{})

Пример

Давайте остановим выполнение теста при отрицательном значении:

package main import "testing" func TestPositiveValue(t *testing.T) { x := 42 if x < 0 { t.Fatal("value must be positive") } // код продолжается, если проверка пройдена }

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

PASS

Пример

Используем Fatal для проверки возвращаемой ошибки:

package main import ( "testing" ) func TestProcess(t *testing.T) { err := processData() if err != nil { t.Fatal("processing failed:", err) } // тест продолжается при успешной обработке }

Результат выполнения теста при наличии ошибки:

"processing failed: some error"

Пример

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

package main import ( "testing" ) func TestValidateUser(t *testing.T) { user := getUser() if user == nil { t.Fatal("user must not be nil") } if user.Age < 18 { t.Fatal("user age must be at least 18") } }

Результат выполнения теста при user.Age = 16:

"user age must be at least 18"

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

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