Существует ли наилучшая практика для разделения модульных тестов и тестов интеграции в GoLang (свидетельствовать)? У меня есть сочетание модульных тестов (которые не полагаются на какие-либо внешние ресурсы и, следовательно, работают очень быстро) и интеграционные тесты (которые полагаются на любые внешние ресурсы и тем самым работают медленнее). Итак, я хочу иметь возможность контролировать, включать ли интеграционные тесты, когда я говорю go test
.
Наиболее простой метод, казалось бы, заключается в определении флага -integrate в main:
var runIntegrationTests = flag.Bool("integration", false
, "Run the integration tests (in addition to the unit tests)")
И затем добавить инструкцию if в начало каждого теста интеграции:
if !*runIntegrationTests {
this.T().Skip("To run this test, use: go test -integration")
}
Это лучшее, что я могу сделать? Я искал документацию для показа, чтобы узнать, существует ли, возможно, соглашение об именах или что-то, что это делает для меня, но ничего не нашел. Я что-то пропустил?