Golang ユニットテストの実装方法
Go言語では、Goソースコードファイル内で特別な関数を記述・実行することで単体テストを実現しています。Go言語での単体テストの手順は以下の通りです。
1. ソースコードファイルと同じディレクトリ内に、`_test.go` で終わるファイル名を付けた新しいファイルを作成します。例えば、 `example.go`という名前のファイルをテストしたいのであれば、 `example_test.go`というファイルを作成します。
2. テストファイルに `testing` パッケージを読み込みます。`import “testing”`
3. `Test` から始まる関数を作成し、 `*testing.T` 型の引数を渡します。例:`func Test関数の名前(t *testing.T) { … }`
4. テスト関数にテストコードを記述します。
– `t.Run()` 関数を使用して、テストケースを分割してテスト結果を整理し報告することができます。
– `t.Errorf()` または `t.Fatalf()` 関数を使用して、テストの失敗を報告します。`t.Errorf()` はエラーメッセージを出力して他のテストを続行しますが、`t.Fatalf()` はエラーメッセージを出力してテストを終了します。
– 例:
“`go
func Test加算(t *testing.T) {
結果 := add(2, 3)
期待値 := 5
if 結果 != 期待値 {
t.Errorf(“add(2, 3) = %d; 期待値: %d”, 結果, 期待値)
}
}
“`
5. コマンドラインでテストを実行します。`go test` コマンドを使用して現在のディレクトリ内のすべてのテストファイルを実行するか、または `go test -v` コマンドを使用して詳細な出力を含めて実行します。