Go でテスト カバレッジを測定するにはどうすればよいですか?

DDD
リリース: 2024-11-28 03:57:12
オリジナル
274 人が閲覧しました

How can I measure test coverage in Go?

Go でテスト カバレッジを測定する方法

ソフトウェア テストにおける課題の 1 つは、テスト対象のコードをテストでカバーする範囲を決定することです。 。テスト カバレッジとして知られるこの指標は、テストが包括的かつ効果的であることを保証するために不可欠です。

Go のテスト カバレッジ機能

Go バージョン 1.2 以降では、go test コマンドは、テスト カバレッジ結果の計算と表示をサポートするようになりました。カバレッジを有効にするには、テストの実行時に -cover フラグを使用するだけです。

go test -cover
ログイン後にコピー

これにより、テストでカバーされるステートメントの割合を示す基本的なカバレッジ レポートが生成されます。

詳細なカバレッジ分析

より詳細なカバレッジ レポートについては、-coverprofile フラグを使用して、カバレッジ プロファイルを含む出力ファイルを指定します。このプロファイルは、go ツールの cover コマンドを使用して分析できます。

go test -coverprofile=coverage.out
go tool cover -html=coverage.out
ログイン後にコピー

-html フラグは、カバレッジを視覚的に表現し、カバーされていない行を強調表示する HTML レポートを生成します。

ブラックボックス テスト

ブラックボックス テスト (内部状態にアクセスできないテスト) のカバレッジを測定します。パッケージの)、-coverpkg フラグを使用します。このフラグは、カバレッジ用にインストルメントする必要があるパッケージを指定します。

go test -coverprofile=.coverage.html -coverpkg=your/pkg your/pkg/pkg_test
ログイン後にコピー

最近の機能強化

Go 1.20 では、統合テストをカバレッジ分析に含めることができるようになりました。 go build -cover コマンドを使用して、カバレッジをインストルメント化したバイナリをビルドできます。これらのバイナリを統合テストで使用して、カバレッジ テストの範囲を拡張できます。

以上がGo でテスト カバレッジを測定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート