Httptest を使用して Go で HTTP 呼び出しをテストする方法

Mary-Kate Olsen
リリース: 2024-10-23 18:10:02
オリジナル
713 人が閲覧しました

How to Test HTTP Calls in Go Using Httptest

Httptest を使用して Go で HTTP 呼び出しをテストする

指定された URL に JSON 形式でメッセージを投稿するための HTTPPost 関数を実装する場合、テスト ケースを作成する関数の正確性を保証するために重要です。 httptest パッケージは、HTTP サーバーをモックする強力な方法を提供し、開発者が外部サーバーと対話せずに HTTP クライアントをテストできるようにします。

Httptest を使用して HTTP サーバーをモックする

httptest を使用するには、httptest.NewServer 関数を使用して模擬サーバーを作成できます。この模擬サーバーは実際のサーバーの代わりとして機能し、提供する応答を制御できるようにします。

<code class="go">func TestYourHTTPPost(t *testing.T){

    ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintln(w, `response from the mock server goes here`)
        // you can also inspect the contents of r (the request) to assert over it
    }))
    defer ts.Close()

    mockServerURL = ts.URL

    message := "the message you want to test"

    resp, err := HTTPPost(message, mockServerURL)

    // assert over resp and err here
}</code>
ログイン後にコピー

この例では、事前定義された応答を返すハンドラー関数を使用して模擬サーバーが作成されます。 。また、モック サーバーが受信したリクエストを検査して、HTTPPost 関数によって送信されたデータを検証することもできます。

レスポンスとエラーのアサート

モック サーバーを作成したら代わりに、HTTPPost 関数によって返された応答とエラーに対してアサートを続行できます。 testing パッケージが提供するさまざまなメソッドを使用して、予期される動作を検証できます。

たとえば、返された応答コードが予期したものであるか、返されたエラーが正しいかどうかを確認できます。エラーが予想されない場合は nil です。 HTTPPost 関数を徹底的にテストすることで、その正確さと堅牢性に対する信頼を高めることができます。

以上がHttptest を使用して Go で HTTP 呼び出しをテストする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!