Go で関数をテストする正しい方法には、_test.go で終わるテスト ファイルを作成することが含まれます。 Test で始まるテスト関数を作成します。 t.Fail()、t.Error()、t.Fatal()、t.Skip() などの補助テスト ツールを使用します。 t.Equal()、t.NotEqual() などのアサーション メソッドを使用して、期待される結果と実際の結果を検証します。
Go 言語での関数テストの正しい方法
コードが正しく実行されることを保証するため、Go 言語での関数テストは非常に重要です。あらゆる状況で。この記事では、関数テストに Go 言語の testing
パッケージを使用する正しい方法を紹介します。
1. テスト ファイルを作成します
まず、テストする関数の新しいテスト ファイルを作成する必要があります。テスト ファイル名は _test.go
で終わり、テスト対象の関数と同じパッケージに配置する必要があります。たとえば、mypackage/myfunc
関数をテストする場合、テスト ファイルは mypackage/myfunc_test.go
になります。
2. テスト関数を記述する
テスト ファイルには、1 つ以上のテスト関数を記述する必要があります。各テスト関数は Test
で始まり、その後にテスト関数の名前が続く必要があります。たとえば、次のコードは、Add
関数をテストする方法を示しています:
import ( "testing" "mypackage" ) func TestAdd(t *testing.T) { // ... }
3。補助テスト ツール
testing を使用します。
パッケージ テスト作成を簡素化するための便利な補助テスト ツールをいくつか提供します。最も一般的に使用されるツールの一部を次に示します。
t.Fail()
: テストが失敗した場合にテスト関数を中断します。 t.Error()
: テスト エラーを記録しますが、テスト機能は中断されません。 t.Fatal()
: テスト エラーを記録し、テスト関数を中断します。 t.Skip()
: テスト関数をスキップします。 4. アサーション
アサーションは、テストの期待と実際の結果が一致するかどうかを検証するために使用されます。 testing
このパッケージには、次のようないくつかのアサーション メソッドが用意されています。
t.Equal(a, b)
: Assert a
and b
等しい。 t.NotEqual(a, b)
: a
と b
が等しくないことをアサートします。 t.True(b)
: b
が true であることをアサートします。 t.False(b)
: b
が false であることをアサートします。 実際的なケース
testmypackage/myfunc
関数テスト ファイルを作成しましょう:
import ( "testing" "mypackage" ) func TestAdd(t *testing.T) { type testCase struct { a, b, want int } tests := []testCase{ {1, 2, 3}, {4, 5, 9}, {-1, -2, -3}, } for _, tc := range tests { got := mypackage.Add(tc.a, tc.b) if got != tc.want { t.Errorf("Add(%d, %d) = %d, want %d", tc.a, tc.b, got, tc.want) } } }
Thisテスト ケースは 3 つのテスト ケースを定義し、それぞれに 3 つの入力変数 (a
、b
および目的の出力 (want
)) が含まれます。テスト関数は、for ループを使用してこれらのテスト ケースを反復し、テスト ケースごとに Add
関数を呼び出します。関数の出力が期待値と一致しない場合、テストは失敗し、エラー メッセージが記録されます。
以上がgolang 関数をテストする正しい方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。