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

Метод testing.T.Errorf

Метод T.Errorf выполняет форматирование строки с использованием стандартных правил пакета fmt и записывает результат в журнал теста. После вызова этого метода тест помечается как неудачный, но выполнение продолжается. В отличие от T.Fatalf, метод T.Errorf не останавливает выполнение текущей функции теста. Первым параметром метод принимает строку формата, а последующими - значения для подстановки в формат.

Синтаксис

t.Errorf(format string, args ...interface{})

Пример

Давайте проверим функцию, которая возвращает сумму двух чисел. При несовпадении ожидаемого значения используем T.Errorf:

package main import "testing" func TestSum(t *testing.T) { res := sum(2, 3) expected := 5 if res != expected { t.Errorf("sum(2, 3) = %d; want %d", res, expected) } }

Пример

Если необходимо выполнить несколько проверок в одном тесте, T.Errorf позволяет продолжить тестирование после обнаружения ошибки. Рассмотрим пример:

package main import ( "testing" ) func TestMultipleChecks(t *testing.T) { vals := []int{1, 2, 3, 4, 5} for i, v := range vals { if v%2 == 0 { t.Errorf("value at index %d is even: %d", i, v) } } }

Пример

Метод T.Errorf поддерживает все форматы вывода пакета fmt. Посмотрим на использование разных спецификаторов:

package main import "testing" func TestFormatting(t *testing.T) { name := "Alice" age := 30 score := 95.5 t.Errorf("name: %s, age: %d, score: %.1f", name, age, score) }

Пример

Рассмотрим ситуацию, когда T.Errorf используется внутри вспомогательной функции для логирования ошибок:

package main import "testing" func checkValue(t *testing.T, value int, expected int) { if value != expected { t.Errorf("checkValue: got %d, want %d", value, expected) } } func TestWithHelper(t *testing.T) { checkValue(t, 10, 10) checkValue(t, 20, 20) checkValue(t, 30, 25) }

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

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