Go での単体テストには単体テスト フレームワークを使用します。テスト パッケージをインポートします。 Test という接頭辞を付けて単体テスト関数を作成します。テスト結果を検証するには、assertEqual() などのアサーション関数を使用します。単体テスト (go test) を実行して、関数が正しいことを確認します。
単体テスト フレームワークを使用して Go 関数をテストする方法
単体テストは、単一関数の正しさを検証するために不可欠です。またはメソッド 重要なソフトウェア開発慣行。 Go では、testing
パッケージなどの単体テスト フレームワークを使用すると、単体テストが非常に簡単になります。
単体テスト フレームワークのインストール
#testing
パッケージは Go 標準ライブラリの一部です。これを使用するには、testing
パッケージをプロジェクトにインポートします。
import "testing"
Writing Unit Tests
各単体テストは Test
は接頭辞が付けられる関数です。ポインタ *testing.T
をパラメータとして受け入れます。これは、テスト結果を報告し、障害情報を記録するために使用されます。
基本的な単体テスト関数は次のとおりです。
func TestAdd(t *testing.T) { result := Add(1, 2) if result != 3 { t.Errorf("Add(1, 2) = %d; want 3", result) } }
Assertion
##testing このパッケージには、一連のアサーション関数が用意されています。テスト結果を検証するために使用されます。一般的に使用されるアサーションは次のとおりです。
実践的なケース
2 の合計を計算する関数を考えてみましょう。数値Add() 関数:
func Add(a, b int) int { return a + b }この関数を検証する単体テストを作成できます:
import "testing" func TestAdd(t *testing.T) { tests := []struct { a, b, want int }{ {1, 2, 3}, {0, 0, 0}, {-1, -1, -2}, } for _, test := range tests { result := Add(test.a, test.b) if result != test.want { t.Errorf("Add(%d, %d) = %d; want %d", test.a, test.b, result, test.want) } } }
テストを実行します
単体テストを実行するには、go test コマンドを使用します。プロジェクト内のすべての
Test* 関数を検索して実行します。
go testテストが成功すると、次の結果が出力されます。
PASS ok my_project/my_package 1.730sそれ以外の場合は、エラー メッセージを含む失敗したテストが報告されます。
以上が単体テストフレームワークを使用して Golang 関数をテストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。