Назад к вопросам
Senior
3
Знаешь, что такое табличное тестирование (table-driven tests)?
Компании, где спрашивали
sber tech
Ответ от нейросети
sobes.tech AI
Табличное тестирование (table-driven tests) — это подход к написанию тестов, при котором набор входных данных и ожидаемых результатов описывается в виде таблицы (обычно слайса структур), а затем тестовый код итерируется по этой таблице, выполняя проверки для каждого набора данных.
Это позволяет легко добавлять новые случаи, уменьшает дублирование кода и улучшает читаемость.
Пример на Go:
func TestSum(t *testing.T) {
tests := []struct {
name string
a, b int
expected int
}{
{"positive numbers", 2, 3, 5},
{"zero", 0, 0, 0},
{"negative numbers", -1, -2, -3},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
result := Sum(tt.a, tt.b)
if result != tt.expected {
t.Errorf("Sum(%d, %d) = %d; want %d", tt.a, tt.b, result, tt.expected)
}
})
}
}
Здесь tests — таблица с тестовыми случаями, а цикл запускает тест для каждого набора данных.