Я использую пакет "тестирования". Выполнение моих тестов, как показано ниже.
func TestMain(m *testing.M) {
...
// Setup
os.Exit(m.Run())
// Teardown
}
Это запустит настройку перед запуском любого теста и завершение после завершения всех тестов. И мне это нужно, поскольку настройка устанавливает БД. Но также, мне нужно, и еще, чтобы узнать, как запустить настройку/отключение при каждом тестировании. Для модульных тестов я запускаю, я хотел бы очистить БД перед каждым тестом, так что нет никаких проблем с содержимым БД, вызывающим неожиданное поведение.