Goのgomonkey徹底解説!ユニットテストでの使い方
gomonkeyは、Go関数をモックするためのツールであり、ユニットテスト中に関数の実装を置き換えることができます。以下はgomonkeyの基本的な使用方法です。
- まず、gomonkeyモジュールをインストールしてください。
go get github.com/agiledragon/gomonkey
- gomonkeyモジュールをインポートします。
import (
"github.com/agiledragon/gomonkey"
)
- テスト関数内で新しいgomonkeyインスタンスを作成します。
monkey := gomonkey.NewMonkey()
- 関数の実装を置き換えるためにmonkey.Patchメソッドを使用する、例:
monkey.Patch(math.Sqrt, func(float64) (float64, error) {
return 1.0, nil
})
上記のコードは、math.Sqrt関数の実装を固定値1.0を返すように置き換えます。
- テスト関数で置換後の関数を使用してテストを行い、テストが完了したら、関数の実装を元に戻すことを忘れないでください。
defer monkey.Unpatch()
上記の手順を実行することで、Goモンキーツールを使用してGo関数をモックし、単体テストをより簡単に行うことができます。