Что такое _test пакет?

Middle
357 просмотров
AFK Offer AI

Файлы с суффиксом _test.go могут объявить package mypackage_test (с суффиксом _test). Это создаёт отдельный пакет, который видит только exported API тестируемого пакета. Это black-box testing — тестируешь как внешний потребитель. Плюсы: ловишь проблемы API design, нет соблазна тестировать internal state, защита от circular imports в тестах. Файл без _test суффикса в пакете — package mypackage — это white-box testing, видишь всё внутреннее. Можно комбинировать оба подхода в одном пакете.

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

Что такое advisory lock?