Golang のコード品質を保証するツールには次のものがあります。 単体テスト (テスト パッケージ): 単一の関数またはメソッドをテストします。ベンチマーク (テスト パッケージ): 機能のパフォーマンスを測定します。統合テスト (TestMain 関数): 複数のコンポーネントの相互作用をテストします。コード カバレッジ (カバー パッケージ): テストでカバーされるコードの量を測定します。静的分析 (go vet ツール): (コードを実行せずに) コード内の潜在的な問題を特定します。単体テストを自動的に生成する (testify パッケージ): Assert 関数を使用してテストを生成します。 go test と go run を使用してテストを実行する: テスト (カバレッジを含む) を実行して実行します。
Golang では、高品質のコード ベースを作成して維持することが重要です。 Golang は、コードの信頼性を確保するために役立つテストと品質管理のための幅広いツールを提供します。
単体テストは、単一の関数またはメソッドをテストする最小単位です。 Golang では、testing
パッケージを使用して単体テストを作成できます。
package mypkg import ( "testing" ) func TestAdd(t *testing.T) { result := Add(1, 2) if result != 3 { t.Errorf("Add(1, 2) failed. Expected 3, got %d", result) } }
ベンチマーク テストは、関数のパフォーマンスを測定するために使用されます。 Golang では、testing
パッケージの B
タイプを使用してベンチマーク テストを作成できます。
package mypkg import ( "testing" ) func BenchmarkAdd(b *testing.B) { for i := 0; i < b.N; i++ { Add(1, 2) } }
統合テストはテストに使用されます。複数の機能またはコンポーネントの相互作用。 Golang では、testing
パッケージの TestMain
関数を使用して、統合テストを作成できます。
package mypkg_test import ( "testing" "net/http" ) func TestMain(m *testing.M) { go startServer() exitCode := m.Run() stopServer() os.Exit(exitCode) }
コード カバレッジ測定テスト方法多くのコードがカバーされています。 Golang では、cover
パッケージを使用してコード カバレッジを計算できます。
func TestCoverage(t *testing.T) { coverprofile := "coverage.out" rc := gotest.RC{ CoverPackage: []string{"mypkg"}, CoverProfile: coverprofile, } rc.Run(t) }
静的分析ツールは、実際にコードを実行せずに、コード内の潜在的な問題を特定するのに役立ちます。コード。 Golang では、静的分析に go vet
ツールを使用できます:
$ go vet mypkg
単体テストを自動的に生成
testify
パッケージは、単体テストを自動的に生成できる Assert
関数を提供します:
Assert = require("github.com/stretchr/testify/require") func TestAdd(t *testing.T) { Assert.Equal(t, 3, Add(1, 2)) }
Use go test
および go run
テストの実行
go test
コマンドを使用してテストを実行できます:
$ go test -cover
go run
コマンドには次のものが含まれます。コードテストの実行:
$ go run -cover mypkg/mypkg.go
以上がGolang 関数ライブラリのテストおよび品質管理方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。