http.Client Do メソッドのモック
コード内で、テスト目的で http.Client Do メソッドをモックしようとしています。 。定義した HttpClient インターフェイスには Do のシグネチャに一致する関数のみが必要なため、モック オブジェクトを利用してこの要件を満たすことができます。
ClientMock 構造体の作成を検討してください。
type ClientMock struct {}
このモック構造体のメソッドを次のように実行します。
func (c *ClientMock) Do(req *http.Request) (*http.Response, error) { return &http.Response{}, nil }
この ClientMock は、ダミーの http.Response を返し、エラーは発生しない HttpClient の動作。
このモック オブジェクトを使用するには、ClientMock のインスタンスをクライアント パラメーターとして GetOverview 関数に挿入します。これにより、モック オブジェクトから返される HTTP 応答を制御できるようになり、テスト中にさまざまなシナリオをシミュレートできるようになります。
別のアプローチの 1 つは、モック ライブラリを利用することです。ただし、前述したように、多くのライブラリは Do メソッドのモックを明示的に提供していません。 http.Client をカスタム タイプ内でラップし、代わりにそのタイプのモックを提供することを検討することもできます。
最終的に、モック戦略の選択は、特定のテスト要件と設定によって決まります。
以上がhttp.Client Do メソッドをテスト用に効果的にモックするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。