Go で単体テストと統合テストを分離するためのベスト プラクティス
はじめに:
分離するにはtestify を使用して Go で単体テストと統合テストを効果的に行うには、確立されたベスト プラクティスに従うことが不可欠です。これにより、プロジェクトの要件に基づいてどのテストを含めるかを制御できます。
解決策:
一般的なアプローチの 1 つは、メインで -integrate フラグを利用することです。
var runIntegrationTests = flag.Bool("integration", false , "Run the integration tests (in addition to the unit tests)")
このフラグは、go test の実行時に統合テストをスキップするために使用できます。ただし、各統合テストの先頭に if ステートメントを手動で追加する必要があります:
if !*runIntegrationTests { this.T().Skip("To run this test, use: go test -integration") }
代替ソリューション:
@Ainar-G が提案する別のオプションは次のとおりです。ビルドタグを使用して実行するテストを選択するには:
// +build integration // ... Integration test code ...
このアプローチにより、 go test を呼び出すことができます。 -tags=integration は、特に統合テストを実行します。同様に、 // build !unit を指定してデフォルトで統合テストを実行し、 go test -tags=unit で無効にすることができます。
追加の考慮事項:
以上がGo で単体テストと統合テストを効果的に分離するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。