Запускать перед ВСЕМИ интеграционными тестами
Есть ли у Go возможность запускать какой-то код перед ВСЕМИ тестами? Я знаю, что Go предоставляет TestMain(), но его функция области действия пакета, и будет устанавливать и удалять только тесты в пакете, в котором она находится.
Но я хочу запустить несколько тестовых контейнеров докеров перед ВСЕМИ тестами и, конечно, снести их, когда все тесты будут выполнены.
1 ответ
Написать Setup()
а также TearDown()
функции в ваших тестах. Если вы используете тесты на основе таблиц или обычные тесты, позвонитеSetup()
а также TearDown()
в каждом тесте до и после.
Вы также можете использовать тест suite
, который делает то же самое, он как бы предоставляет эту функцию как библиотека:https://godoc.org/github.com/stretchr/testify/suite