Czy istnieje ustalona najlepsza praktyka oddzielania testów jednostkowych i testów integracyjnych w GoLang (zeznawaj)? Mam mieszankę testów jednostkowych (które nie opierają się na żadnych zewnętrznych zasobach i dlatego działają bardzo szybko) i testów integracyjnych (które polegają na jakichkolwiek zasobach zewnętrznych i dlatego działają wolniej). Więc chcę mieć możliwość kontrolowania, czy włączać testy integracji, kiedy mówię go test
.
Wydaje się, że najbardziej prostą techniką byłoby zdefiniowanie flagi zintegrowanej w main:
var runIntegrationTests = flag.Bool("integration", false
, "Run the integration tests (in addition to the unit tests)")
Następnie, aby dodać instrukcję if na początku każdego testu integracji:
if !*runIntegrationTests {
this.T().Skip("To run this test, use: go test -integration")
}
Czy to najlepsze, co mogę zrobić? Przeszukałem dokumentację zeznań, aby sprawdzić, czy jest może jakaś konwencja nazewnictwa lub coś, co zapewnia mi to, ale nic nie znalazłem. Czy coś mi brakuje?