Метод testing.T.Failed
Метод testing.T.Failed позволяет проверить,
был ли текущий тест помечен как провалившийся.
Он возвращает true, если тест провалился,
и false в противном случае. Метод не принимает
никаких параметров и полезен для условной логики
в тестах, например, для пропуска дальнейших проверок
при обнаружении ошибки.
Синтаксис
t.Failed()
Пример использования с проверкой статуса
В этом примере мы проверяем, был ли тест помечен
как провалившийся после вызова t.Fail:
package main
import (
"testing"
)
func TestExample(t *testing.T) {
t.Fail()
if t.Failed() {
t.Log("Тест помечен как провалившийся")
}
}
Результат выполнения кода:
"Тест помечен как провалившийся"
Пример с условной логикой
Метод Failed полезен для выполнения действий
только в случае провала теста. Например, для вывода
дополнительной диагностики:
package main
import (
"testing"
)
func TestCalculation(t *testing.T) {
result := 10
expected := 20
if result != expected {
t.Errorf("Ожидалось %d, получено %d", expected, result)
}
if t.Failed() {
t.Log("Тест провален, выполняем дополнительные проверки")
}
}
Результат выполнения кода:
"Тест провален, выполняем дополнительные проверки"
Пример с пропуском дальнейших проверок
Метод Failed можно использовать для пропуска
выполнения остальных проверок, если тест уже провалился:
package main
import (
"testing"
)
func TestMultipleChecks(t *testing.T) {
t.Run("Первая проверка", func(t *testing.T) {
if 1 != 2 {
t.Fail()
}
})
if t.Failed() {
t.Skip("Пропускаем остальные проверки из-за провала")
}
t.Run("Вторая проверка", func(t *testing.T) {
if 3 != 3 {
t.Fail()
}
})
}
Результат выполнения кода:
"Пропускаем остальные проверки из-за провала"
Смотрите также
-
метод
testing.T.Fail,
который помечает тест как провалившийся без остановки выполнения -
метод
testing.T.FailNow,
который помечает тест как провалившийся и немедленно останавливает его -
метод
testing.T.Error,
который сообщает об ошибке и помечает тест как провалившийся -
метод
testing.T.Fatal,
который сообщает об ошибке и немедленно останавливает тест