テストしたいクラス MyClass があります。
MyClass には、何かを行うために内部サーバーを呼び出す void メソッドがあります。
func (d *MyClass) SendToServer(args)
do stuff....
server.Send(myMessage)
サーバー呼び出し Send をモックしたいのですが、メソッドが void メソッドであるため、実際に正しく呼び出しているかどうか確信が持てません。
これらは私が念頭に置いていたオプションです:
- gomock を使用し、サーバーをモックし、サービスの send メソッドに期待値を設定します
- 独自の MockServer を作成し、Send メソッドを一連の検証で「オーバーライド」します。何かのようなもの:
func (d *MockedServer) Send(message) // メッセージを検証...
- 独自の MockServer を作成しますが、メソッド内の期待値を検証する代わりに、メッセージをメッセージのリストに追加してから、リストの内容を検証します。
Goでより良いアプローチは何ですか?