「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Go バイナリに対する統合テストからコード カバレッジを取得するにはどうすればよいですか?

Go バイナリに対する統合テストからコード カバレッジを取得するにはどうすればよいですか?

2024 年 11 月 18 日に公開
ブラウズ:250

How Can I Capture Code Coverage from Integration Tests Against a Go Binary?

Go バイナリからのコード カバレッジのキャプチャ

単体テストを実行する場合、コード カバレッジのキャプチャは簡単です。ただし、バイナリ自体に対する統合テスト中にカバレッジ メトリックを収集するのは困難な場合があります。このハードルを克服する方法はありますか?

統合テスト カバレッジの必要性

統合テストは、単体テストだけよりもコード カバレッジのより包括的なビューを提供します。現実世界の入力に対してバイナリを実行することで、さまざまな条件下でコードがどのように動作するかを評価できます。

挑戦

Go カバレッジ ツールは、以下と組み合わせてのみ動作します。テストパッケージ。これにより、通常はこのフレームワークに適合しない統合テストに問題が生じます。

解決策: Go のテスト フレームワークでの統合テスト

統合テストからカバレッジを取得するには

  1. テスト ファイルの作成: goroutine で main() 関数を実行するテスト ファイルを作成します。
func TestMainApp(t *testing.T) {
    go main()
    // ... Start integration tests here
}
  1. 統合テストの実行: exec.Cmd を使用して、前に作成したゴルーチンの外で統合テストを実行します。
  2. カバレッジ統計の収集: 最後に、カバレッジ ツールを使用してカバレッジ統計を収集します。

その他のリソース

このトピックに関する以前の説明については、記事「Go カバレッジ」を参照してください。外部テストを使用して」、同等のアプローチを検討します。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3