Есть ли устоявшаяся передовая практика разделения модульных и интеграционных тестов в 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")
}
Это лучшее, что я могу сделать? Я просмотрел свидетельскую документацию, чтобы узнать, существует ли, возможно, соглашение об именах или что-то, что позволяет мне это сделать, но ничего не нашел. Я что-то упускаю?