natively Gomonkey
Goのテストフレームワークであるgomonkeyを使用するには、以下の手順でセットアップを行う必要があります。
- gomonkeyライブラリのインストール
go get github.com/agiledragon/gomonkey
- テストファイルにgomonkeyライブラリをインポートするには、
import (
"testing"
"github.com/agiledragon/gomonkey"
)
- テスト関数内でmonkey.Patchインスタンスを作成して関数を差し替える:
func TestMyFunction(t *testing.T) {
var myVar = 0
monkey.Patch(myFunction, func() {
myVar = 10
})
// 调用测试函数
monkey.UnpatchAll()
}
- テストする関数の中でテストしたい関数を呼び出すと、gomonkeyフレームワークによってあなたが指定した関数に置き換えられます。
func myFunction() {
// 原始的函数实现
}
- テストの実行:
go test
以上がgomonkeyの基本的な使用方法です。PatchInstanceMethod、PatchStaticMethod などのさまざまな Patch 関数を使用すれば、必要に応じてさまざまな関数を置き換えることができます。さらに、ExpectCall 関数を使用して関数の戻り値をシミュレートすることもできます。gomonkey の使用方法の詳細については、公式ドキュメントを参照してください。