Go 関数テスト ガイド: 単体テストは、関数の動作を単独でテストするために使用されます。 testify/assert は便利なアサーション ツールを提供しており、github.com/stretchr/testify/assert をインポートする必要があります。アサートするには、assert.Equal(t, 期待値, 関数呼び出し) を使用します。 go test コマンドを使用してテストを実行します。
Go プログラムを作成する場合、単体テストは関数が期待どおりに実行されることを検証するために非常に重要です。この記事では、Go 関数をテストする方法について、実践的な例とともに段階的なガイドを提供します。
単体テストは、他のコードに関係なく、隔離された環境で関数の動作をテストすることです。
testify/assert は、便利なアサーション ツールのセットを備えた人気のある Go テスト パッケージです。これをインストールするには、次を実行します:
go get github.com/stretchr/testify/assert
アサートを使用するには、まず単体テスト ファイルにインポートする必要があります:
import "github.com/stretchr/testify/assert"
これで、次のようにテスト ケースを作成できるようになります:
func TestAdd(t *testing.T) { // 断言 a+b 等于 c assert.Equal(t, 3, Add(1, 2)) }
単体テストを実行するには、コマンド ラインで go test
コマンドを使用します。
go test
次の単純な関数を使用して 2 つの数値の合計を計算します:
func Add(a, b int) int { return a + b }
この関数をテストするには、次のテスト ケースを使用できます:
func TestAdd(t *testing.T) { testCases := []struct { a, b, expected int }{ {1, 2, 3}, {5, 10, 15}, {-1, -2, -3}, } for _, tc := range testCases { actual := Add(tc.a, tc.b) assert.Equal(t, tc.expected, actual) } }
テスト ケースでは、複数のテスト セットを結合します。 testCases
フラグメントに追加します。各テスト ケースでは、入力値 a
および b
、および期待される結果 expected
を指定します。
各テスト ケースをループし、Add
関数を呼び出し、assert を使用して結果が期待値と一致することをアサートします。いずれかのアサーションが失敗すると、テストは失敗します。
以上がGolang 関数をテストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。