関数テストおよびカバレッジ ツール: テスト ツール: Go 標準ライブラリ testingtestify/assert カバレッジ ツール: go testgopcover
#Go 関数テストおよびカバレッジ ツール
Go 開発では、コードの正確さと信頼性を確保するために、関数のカバレッジをテストおよび測定することが重要です。 Go エコシステムは、この目的のためにさまざまな成熟したツールを提供します。テスト ツール
Go 標準ライブラリのテスト: Go 標準ライブラリは、次を使用する組み込みのテスト パッケージを提供します。テストケースを作成して実行するため。テストとアサーションを簡単に定義できるフレンドリーな API を提供します。
import ( "testing" "github.com/stretchr/testify/assert" ) func TestAdd(t *testing.T) { assert.Equal(t, 10, Add(5, 5)) }
testify/assert: これは、期待値を実際の値に対してより簡単に検証できる一連のアサーション関数を提供するサードパーティ ライブラリです。結果。テストを作成するためのクリーンで読みやすい構文を提供します。
import "github.com/stretchr/testify/assert" func TestAdd(t *testing.T) { result := Add(5, 5) assert.True(t, result == 10) }
カバレッジ ツール
:テストに行くコマンドには、テストの実行時にコード カバレッジ レポートを生成できる組み込みカバレッジ ツールが含まれています。ファイル、パッケージ、機能ごとの詳細なカバレッジ情報を提供します。 <pre class='brush:go;toolbar:false;'>go test -coverprofile=coverage.out</pre>
: これは、未カバーのコード行を含むより詳細なレポートを生成する軽量のサードパーティ カバレッジ ツールです。視覚的なカバレッジ レポートを生成することもできます。 gopcover -v -o coverage.html
次は、
go test と testing## を使用して作成されたテストです。 # ライブラリ 例:
package main import ( "testing" ) func Add(a, b int) int { return a + b } func TestAdd(t *testing.T) { tests := []struct { a, b int expected int }{ {1, 2, 3}, {3, 4, 7}, } for _, test := range tests { t.Run(string(test.a)+"+"+string(test.b), func(t *testing.T) { result := Add(test.a, test.b) if result != test.expected { t.Errorf("Expected %d, got %d", test.expected, result) } }) } }
この例では、
TestAdd 関数には、入力値と予想される出力値を含むスライスが含まれています。テスト ケースごとに、関数はテストを実行し、t.Errorf を使用して不一致を報告します。
以上がgolang 関数のテストとカバレッジにはどのようなツールがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。