Go では、安定した信頼性の高いコードを維持するためにテストとカバレッジが重要です。テストは、Test で始まり、関数の期待される出力を検証するためのアサーションを含む関数を作成することによって行われます。テストを実行する場合は go test コマンドを使用します。カバレッジを測定するには、 go test -coverprofile=coverage.out コマンドを使用してカバレッジ プロファイルを生成します。カバレッジ レポートを表示するには、go ツールの cover -html=coverage.out コマンドを使用します。これにより、実行されなかったコード行がブラウザーに表示されます。
Go 関数のテストとカバレッジ
Go では、安定した信頼性の高いコードを維持するためにテストとカバレッジが不可欠です。 。このチュートリアルでは、Go 関数のテストのセットアップと実行を段階的に説明します。
テストのセットアップ
まず、_test.go
で終わるファイルを作成し、必要な関数が含まれるディレクトリに配置します。テストは真ん中にあります。
次に、名前が Test
で始まり、その後にテスト対象の関数の名前が続くテスト関数を作成します。テスト関数には、関数の期待される出力を検証するために複数のアサーションが含まれている必要があります。
package mypackage import ( "testing" ) func TestAdd(t *testing.T) { expected := 10 result := Add(5, 5) if result != expected { t.Errorf("Expected %d, got %d", expected, result) } }
テストを実行します
go test
コマンドを使用してテストを実行します:
go test
カバレッジを測定する
カバレッジは、コード内で実行されるコードの行数を測定します。カバレッジを測定するには、-cover
フラグを使用できます。
go test -coverprofile=coverage.out
このコマンドは、coverage.out
という名前のカバレッジ構成ファイルを生成します。
カバレッジ レポートの表示
go tool cover
コマンドを使用して、カバレッジ レポートを表示できます:
go tool cover -html=coverage.out
これにより、デフォルトで実行される カバレッジ レポートがブラウザで開き、実行されなかったコード行が表示されます。
#実際的なケース
配列内の要素の合計を計算する関数を考えてみましょう:package mypackage func SumArray(arr []int) int { sum := 0 for _, v := range arr { sum += v } return sum }
テスト ケース
func TestSumArray(t *testing.T) { arr := []int{1, 2, 3, 4, 5} expected := 15 result := SumArray(arr) if result != expected { t.Errorf("Expected %d, got %d", expected, result) } }
テストを実行してカバレッジを表示
go test -coverprofile=coverage.out go tool cover -html=coverage.out
SumArray 関数内のすべてのコード行が実行されたことを示すカバレッジ レポートが生成されます。
以上がgolang 関数をテストしてカバーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。