Запускать перед ВСЕМИ интеграционными тестами

Есть ли у Go возможность запускать какой-то код перед ВСЕМИ тестами? Я знаю, что Go предоставляет TestMain(), но его функция области действия пакета, и будет устанавливать и удалять только тесты в пакете, в котором она находится.

Но я хочу запустить несколько тестовых контейнеров докеров перед ВСЕМИ тестами и, конечно, снести их, когда все тесты будут выполнены.

1 ответ

Написать Setup() а также TearDown()функции в ваших тестах. Если вы используете тесты на основе таблиц или обычные тесты, позвонитеSetup() а также TearDown() в каждом тесте до и после.

Вы также можете использовать тест suite, который делает то же самое, он как бы предоставляет эту функцию как библиотека:https://godoc.org/github.com/stretchr/testify/suite

Другие вопросы по тегам