Go 関数のデバッグとテストには 3 つの手法があります。デバッガ dlv を使用してコードをステップ実行し、変数を検査し、コードの状態を変更します。 _test.go ファイルにテスト関数を記述し、アサーション関数を使用して結果を検証することにより、関数をテストします。実際の戦闘では、dlv を使用して関数の実行をデバッグし、テスト フレームワークとアサーション関数を使用して関数の正当性を検証できます。
Go 関数のデバッグとテスト
はじめに
Go 言語は次のことを提供します。開発者が機能をデバッグおよびテストするのに役立つ強力なツール。この記事では、Go 関数のデバッグとテストのためのさまざまなテクニックを紹介します。
デバッグ
Go デバッガー (dlv) は、コードをステップ実行し、変数を検査し、コードの状態を変更するために使用できる強力なツールです。
1. dlv のインストールと使用
go install github.com/go-delve/delve/cmd/dlv@latest
dlv debug -- <function_name></function_name>
2 デバッグ コマンド
n
: 関数へのシングル ステップ s
: 関数へのシングル ステップと一時停止 l
: 現在のスコープ内の変数を一覧表示します: 指定された変数の値を出力します
: 実行を続行
テスト
Go テスト フレームワークは、関数とプログラムをテストする機能を提供します。1. テスト ファイルを作成します
テスト ファイルにはサフィックス_test.go が付けられ、コードと同じパッケージ内にあります。テストされる。
2. テスト関数を作成します
テスト関数はTest で始まり、その後にテスト対象の関数の名前が続きます。これらは次の形式に従います:
func Test<FunctionName>(t *testing.T) { // 测试代码 }
3. アサーション
アサーションはテスト結果を検証するために使用されます。 Go テスト フレームワークは、Equal()、
NotEqual()、
True()、
False() などのアサーション関数を提供します。
4. 実際のケース
次の Go 関数を考えてみましょう:func Sum(a int, b int) int { return a + b }次のテスト関数を通じてこの関数をテストできます:
import ( "testing" ) func TestSum(t *testing.T) { type testCase struct { a, b, expected int } testCases := []testCase{ {1, 2, 3}, {-1, 5, 4}, {10, 10, 20}, } for _, tc := range testCases { result := Sum(tc.a, tc.b) if result != tc.expected { t.Errorf("Expected %v, got %v", tc.expected, result) } } }
以上がgolang 関数のデバッグとテストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。