Apakah ada praktik terbaik yang ditetapkan untuk memisahkan pengujian unit dan pengujian integrasi di GoLang (bersaksi)? Saya memiliki campuran tes unit (yang tidak bergantung pada sumber daya eksternal dan dengan demikian berjalan sangat cepat) dan tes integrasi (yang bergantung pada sumber daya eksternal dan dengan demikian berjalan lebih lambat). Jadi, saya ingin dapat mengontrol apakah akan menyertakan tes integrasi atau tidak ketika saya katakan go test
.
Teknik yang paling lurus ke depan adalah dengan mendefinisikan sebuah flag -integrate di main:
var runIntegrationTests = flag.Bool("integration", false
, "Run the integration tests (in addition to the unit tests)")
Dan kemudian untuk menambahkan pernyataan-if ke bagian atas dari setiap pengujian integrasi:
if !*runIntegrationTests {
this.T().Skip("To run this test, use: go test -integration")
}
Apakah ini yang terbaik yang bisa saya lakukan? Saya mencari dokumentasi bersaksi untuk melihat apakah mungkin ada konvensi penamaan atau sesuatu yang menyelesaikan ini untuk saya, tetapi tidak menemukan apa pun. Apakah saya melewatkan sesuatu?