
Testing
testing package, test tables, benchmarks, examples, coverage, testify, mocking
1Яка конвенція іменування для файлу тесту в Go?
Яка конвенція іменування для файлу тесту в Go?
Відповідь
У Go файл тесту повинен мати суфікс _test.go і знаходитися в тому самому package, що й код, який тестується. Наприклад, щоб протестувати main.go, створіть main_test.go. Ця конвенція дозволяє команді go test автоматично виявляти файли тестів без додаткового налаштування.
2Який правильний підпис тестової функції в Go?
Який правильний підпис тестової функції в 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.Error позначає тест як невдалий, але продовжує виконання тесту, дозволяючи виявити кілька помилок. t.Fatal позначає тест як невдалий і негайно зупиняє виконання поточного тесту. Використовуйте t.Fatal, коли критична передумова не виконується і продовжувати немає сенсу, наприклад при збої setup або несподіваному значенні nil.
Як запустити лише конкретний тест із назвою TestAdd?
Що таке table-driven тест у Go?
+19 питань зі співбесід
Інші теми співбесід Go
Основи Go
Структури даних Go
Інтерфейси Go
Обробка помилок
Основи goroutines
Channels
Go Modules
HTTP-сервер
HTTP-клієнт
Кодування JSON
Database/SQL
Пакет context
Патерни конкурентності
Примітиви синхронізації
Веб-фреймворки Go
Проєктування REST API
gRPC
Reflection
Керування пам'яттю
Оптимізація продуктивності
Generics
Go Design Patterns
Microservices
Безпека та автентифікація
Docker & Containerization
Kubernetes Basics
Просунутий Go
Розробка CLI
Опануй Go для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно