Что такое test helper?

Junior
379 просмотров
AFK Offer AI

Test helper — вспомогательная функция в тестах, которая убирает повторяющийся boilerplate. Например: setupTestDB() создаёт тестовую БД, createTestUser(t) создаёт юзера для теста, assertError(t, got, want) проверяет ошибки. В Go важно вызвать t.Helper() в начале хелпера — тогда при падении теста Go покажет строку вызова хелпера, а не строку внутри него. Это критично для читаемости ошибок. Хелперы живут в том же _test.go файле или в отдельном testutil пакете. Не перебарщивай — слишком много абстракций в тестах = нечитаемые тесты.

Следующий вопрос

Что выведет этот код с defer?