Go

Testing

testing package, test tables, benchmarks, examples, coverage, testify, mocking

22 питань зі співбесід·
Mid-Level
1

Яка конвенція іменування для файлу тесту в Go?

Відповідь

У Go файл тесту повинен мати суфікс _test.go і знаходитися в тому самому package, що й код, який тестується. Наприклад, щоб протестувати main.go, створіть main_test.go. Ця конвенція дозволяє команді go test автоматично виявляти файли тестів без додаткового налаштування.

2

Який правильний підпис тестової функції в Go?

Відповідь

Тестова функція в Go повинна починатися з Test, приймати єдиний параметр типу *testing.T і нічого не повертати. Ім'я повинно починатися з великої літери, щоб бути експортованим. Наприклад, func TestAdd(t *testing.T). Параметр t дозволяє сигналізувати про збої за допомогою t.Error, t.Fail, t.Fatal тощо.

3

Яка різниця між t.Error та t.Fatal?

Відповідь

t.Error позначає тест як невдалий, але продовжує виконання тесту, дозволяючи виявити кілька помилок. t.Fatal позначає тест як невдалий і негайно зупиняє виконання поточного тесту. Використовуйте t.Fatal, коли критична передумова не виконується і продовжувати немає сенсу, наприклад при збої setup або несподіваному значенні nil.

4

Як запустити лише конкретний тест із назвою TestAdd?

5

Що таке table-driven тест у Go?

+19 питань зі співбесід

Опануй Go для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно