TestMain(m *testing.M) - точка входа для набора тестов в пакете. Вызывается один раз; внутри можно выполнить setup/teardown (поднять БД, замокать конфиг), затем os.Exit(m.Run()). Используют для глобальной инициализации и очистки.
func TestMain(m *testing.M) {
setup()
code := m.Run()
teardown()
os.Exit(code)
}