Go で単体テストを作成すると、コードの品質と信頼性を確保できます。単体テストには、依存関係のインポート、オブジェクトのセットアップ、入力と出力の定義、関数の呼び出し、出力のアサートなどの手順が含まれます。テスト パッケージのassert 関数を使用すると、実際の出力と期待される出力を比較できます。 go test コマンドを使用してテストを実行し、すべてのテストが合格することを確認して、Go コードの正確性を確認します。
Go で単体テストを作成することは、コードの品質と信頼性を確保するために重要です。単体テストを使用すると、単一の関数またはメソッドの動作を分離してテストし、期待どおりに動作することを確認できます。
一般的な単体テストには次の部分が含まれます:
単純な Sum
関数を作成し、その単体テストを作成してみましょう:
package main import ( "testing" ) // Sum 返回两个数字之和 func Sum(a, b int) int { return a + b } func TestSum(t *testing.T) { // 设置测试表 tests := []struct { a, b int want int }{ {1, 2, 3}, {-1, 5, 4}, {0, -5, -5}, } // 遍历测试表,对每个测试用例运行测试 for _, tt := range tests { got := Sum(tt.a, tt.b) if got != tt.want { t.Errorf("Sum(%d, %d) = %d, want %d", tt.a, tt.b, got, tt.want) } } }
Go は、[testing
](https://golang.org/pkg/testing/) パッケージを提供します。このパッケージには、実際の出力と予想される出力を比較するために使用できるさまざまなアサーション関数が含まれています。よく使用されるアサーション関数には次のようなものがあります。
t.Fatal()
: アサーションが失敗した場合にテストを終了します。 t.Error()
: 失敗を報告し、テストを続行できるようにします。 t.Errorf()
: フォーマットされたエラー メッセージで失敗を報告します。 t.Equal()
: 2 つの値が等しいかどうかを比較します。 t.NotEqual()
: 2 つの値が等しいかどうかを比較します。 go test
コマンドを使用して単体テストを実行します。
go test
すべてのテストが成功すると、次の出力:
PASS ok main [no tests found]
包括的な単体テストを作成することで、Go コードの精度と信頼性を確保でき、それによってアプリケーションの品質と保守性が向上します。
以上がGo 関数の包括的な単体テストを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。