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関数をモックし、単体テストをより簡単に行うことができます。