Go で機能テスト ケースを作成するには、テスト パッケージを使用する必要があります。このパッケージには、テスト ケースを定義し (func Test)、失敗を報告する機能 (t.Error) が用意されています。単体テストは個々の機能を分離してテストしますが、統合テストは他のコンポーネントとの相互作用に焦点を当てます。サンプル テスト ケースでは、テスト パッケージを使用してテスト関数を定義し、入力および出力テスト ケースを定義し、結果を検証し、 go test コマンドを使用してテスト ケースを実行する方法を示します。
Go コードを作成する場合、コードが堅牢で正しいことを確認するためにテスト ケースを作成することが重要です。以下は、Go 言語を使用した実際の例を含む、機能テスト ケースを作成するためのガイドです。
1. 単体テストと統合テスト
関数をテストする場合、主に 2 つのタイプがあります。
2. Go の testing
パッケージの使用
テスト ケースを作成するための Go 言語の標準ライブラリは testing # ## バッグ。このパッケージは、次のようないくつかの便利な関数と型を提供します。
: テスト ケースを定義します。
: テストの失敗を報告します。
: テストはただちに失敗します。
: 現在のテストをスキップします。
3. テスト ケースを作成する
次は、関数テスト ケースを作成する例です:package main import "testing" // myFunc 是要测试的函数 func myFunc(x int) int { return x * x } // TestMyFunc 测试 myFunc 函数 func TestMyFunc(t *testing.T) { // 定义测试用例 tests := []struct { input int expected int }{ {0, 0}, {1, 1}, {2, 4}, {3, 9}, {-1, 1}, } for _, tc := range tests { // 调用正在测试的函数 result := myFunc(tc.input) // 验证结果 if result != tc.expected { t.Errorf("Test failed. Expected: %d, Got: %d", tc.expected, result) } } }
4テスト ケースの実行
次のコマンドを使用してテスト ケースを実行できます:go test
5.リスト内の要素の合計を計算する計算関数:
func sum(nums []int) int { sum := 0 for _, num := range nums { sum += num } return sum }
func TestSum(t *testing.T) { tests := []struct { input []int expected int }{ {[]int{}, 0}, {[]int{1}, 1}, {[]int{1, 2}, 3}, {[]int{1, 2, 3}, 6}, {[]int{-1, 0, 1}, 0}, } for _, tc := range tests { result := sum(tc.input) if result != tc.expected { t.Errorf("Test failed. Expected: %d, Got: %d", tc.expected, result) } } }
以上がgolang 関数のテストケースを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。