Что такое тестирование в пакете _test (external test)?

Ответ

Тесты в пакете foo_test (объявление package foo_test) видят только экспортированные имена пакета foo. Так проверяют публичный API "снаружи", как сторонний код. Внутренние тесты (package foo) видят неэкспортированные символы. External тесты помогают избежать циклических зависимостей.

// foo_test.go
package foo_test
import "mymod/foo"
func TestPublicAPI(t *testing.T) {
    r := foo.NewReader()  // только экспорт
}
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.