GoLang テスト コードを整理するためのベスト プラクティス: ファイル構造: 各パッケージのテスト コードは、接尾辞 _test.go で終わる別のファイルに配置する必要があります。テスト関数の名前付け: func Test
GoLang 関数のテスト コードを整理する方法
まえがき
関数が期待どおりに動作することを確認するには、テスト コードを作成することが重要です。適切に編成されたテスト コードにより、コード ベースの保守と拡張が容易になります。この記事では、GoLang 関数をテストするためのコードを整理するためのベスト プラクティスについて説明します。
1. ファイル構造
テストするパッケージごとに、_test.go## で始まる個別のテスト ファイルを作成することをお勧めします。 # 接尾辞。これは、テスト ファイルがパッケージ内の他のソース ファイルと同じディレクトリに存在することを意味します。
2. テスト関数の名前付け
各テスト関数には、テスト対象を説明する明確で簡潔な名前が必要です。通常、次の規則が使用されます:func Test<FunctionName>_<TestType>()たとえば、
Add 関数の場合、次のテスト関数名を使用できます:
func TestAdd_Basic() func TestAdd_EdgeCases()
Test。 table
複数の入力値または出力値が関係する状況では、テスト テーブルはテスト ケースを整理する便利な方法です。テスト テーブルの各行を表す構造または型を作成できます。4. ベンチマーク
関数のパフォーマンスを評価する必要がある場合は、Go 言語のベンチマーク関数を使用できます。ベンチマークは、関数の実行にかかる時間を測定します。5. モック
場合によっては、関数の動作をテストするために関数の依存関係をモックする必要があるかもしれません。標準ライブラリには、testify/mock などのさまざまなモック ライブラリが用意されています。
実践的なケース: 単純な計算関数のテスト
2 つの整数を受け入れ、その合計を返す単純な計算関数Sum を考えてみましょう。この関数をテストするためのテスト ファイルを作成しましょう。
package main import "testing" func Sum(a, b int) int { return a + b } func TestSum_Basic(t *testing.T) { tests := []struct { a, b, expected int }{ {1, 2, 3}, {0, 0, 0}, {5, -2, 3}, } for _, tt := range tests { actual := Sum(tt.a, tt.b) if actual != tt.expected { t.Errorf("Sum(%d, %d) = %d, expected %d", tt.a, tt.b, actual, tt.expected) } } }このテスト ファイルでは、テスト テーブルを使用してさまざまなテスト ケースを表しています。また、
Errorf メソッドを使用して、失敗したテストを報告します。
以上がgolang関数のテストコードはどのように整理すればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。