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