"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > गो में लाइव रिक्वेस्ट के साथ HTTP सर्वर का परीक्षण कैसे करें?

गो में लाइव रिक्वेस्ट के साथ HTTP सर्वर का परीक्षण कैसे करें?

2024-11-09 को प्रकाशित
ब्राउज़ करें:113

How to Test HTTP Servers with Live Requests in Go?

गो में लाइव अनुरोधों के साथ HTTP सर्वर का परीक्षण करना

आइसोलेशन में यूनिट परीक्षण हैंडलर आवश्यक है, लेकिन रूटिंग और अन्य मिडलवेयर के प्रभावों को नजरअंदाज किया जा सकता है . व्यापक परीक्षण के लिए, "लाइव सर्वर" दृष्टिकोण का उपयोग करने पर विचार करें।

httptest.Server के साथ लाइव सर्वर परीक्षण

net/http/httptest.Server प्रकार लाइव की सुविधा देता है सर्वर परीक्षण. यह दिए गए हैंडलर (इस मामले में, गोरिल्ला मक्स राउटर) का उपयोग करके एक सर्वर बनाता है। यहाँ एक उदाहरण है:

func TestIndex(t *testing.T) {
  // Create server using the router initialized elsewhere.
  ts := httptest.NewServer(router)
  defer ts.Close()

  newreq := func(method, url string, body io.Reader) *http.Request {
    r, err := http.NewRequest(method, url, body)
    if err != nil {
        t.Fatal(err)
    }
    return r
  }

  tests := []struct {
    name string
    r    *http.Request
  }{
    // Test GET and POST requests.
    {name: "1: testing get", r: newreq("GET", ts.URL "/", nil)},
    {name: "2: testing post", r: newreq("POST", ts.URL "/", nil)}, // reader argument required for POST
  }
  for _, tt := range tests {
    t.Run(tt.name, func(t *testing.T) {
        resp, err := http.DefaultClient.Do(tt.r)
        defer resp.Body.Close()
        if err != nil {
            t.Fatal(err)
        }
        // check for expected response here.
    })
  }
}

ध्यान दें कि httptest.Server का उपयोग किसी भी हैंडलर का परीक्षण करने के लिए किया जा सकता है जो http.Handler इंटरफ़ेस को संतुष्ट करता है, न कि केवल गोरिल्ला mux को।

विचार

जबकि लाइव सर्वर परीक्षण अधिक यथार्थवादी परीक्षण प्रदान करता है, यह यूनिट परीक्षण की तुलना में धीमा और अधिक संसाधन-गहन भी हो सकता है। व्यापक परीक्षण रणनीति के लिए इकाई और एकीकरण परीक्षण के संयोजन पर विचार करें।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3