GoLang のエラー処理では、fmt.Errorf() を通じて作成できるエラー タイプを使用してエラーを表します。単体テストでは、テスト ライブラリを使用して、テスト ケースを作成することで関数の正確さを検証し、返された結果が期待と一致しているかどうかを確認します。
#GoLang 関数のエラー処理と単体テスト
#エラー処理## エラー処理#GoLang のメカニズムは非常にシンプルかつ効果的です。 error
型を使用すると、関数実行時のエラーを表すことができます。エラー メッセージは、fmt.Errorf() 関数を通じて作成できます。
package main import ( "fmt" ) func divide(a, b int) (int, error) { if b == 0 { return 0, fmt.Errorf("cannot divide by zero") } return a / b, nil } func main() { result, err := divide(10, 2) if err != nil { fmt.Println(err) } else { fmt.Println(result) } }
単体テスト単体テストは、関数の正しさを検証するために重要です。 GoLang は、単体テストを簡単に作成して実行するための testing
ライブラリを提供します。package main import ( "fmt" "testing" ) func TestDivide(t *testing.T) { type testCases struct { a int b int expected int expectedError error } cases := []testCases{ {10, 2, 5, nil}, {10, 0, 0, fmt.Errorf("cannot divide by zero")}, } for _, c := range cases { result, err := divide(c.a, c.b) if result != c.expected || err != c.expectedError { t.Errorf("Test failed for input (%d, %d) expected (%d, %s) but got (%d, %s)", c.a, c.b, c.expected, c.expectedError, result, err) } } }
この例では、さまざまなテスト ケースを含むテスト テーブルを作成しました。次に、各テスト ケースに対して
divide 関数を実行し、返された値とエラーが期待される結果と一致することをアサートします。 エラー処理と単体テストを組み合わせることで、さまざまな入力状況下で関数が期待どおりに動作することを確認できます。
以上がgolang 関数のエラー処理と単体テストの組み合わせの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。