Какой реальный баг может возникнуть из-за неправильного понимания table-driven tests?
Что хотят услышать интервьюеры:
Суть: table-driven tests описывают набор кейсов в slice и запускают их циклом.
Ответ:
Пример:
tests := []struct{
name string;
input int;
want int
}
{
...
} Практический акцент: Проверяйте не только happy path: добавьте негативные сценарии, timeout/cancel, граничные значения и регрессионный тест на типичную ошибку.
Типичная ошибка: писать один огромный тест без понятных названий кейсов.
Как отвечать на собеседовании: На собеседовании связывайте тесты с рисками: чистая логика, HTTP, БД, concurrency, контракты и регрессии.