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

आप गो में अनएक्सपोर्टेड फ़ंक्शंस का परीक्षण कैसे कर सकते हैं?

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

How Can You Test Unexported Functions in Go?

नॉन-टेस्ट गो फाइलों से टेस्ट फ़ंक्शन को कॉल करना

गो में, परीक्षण फ़ंक्शन को कोड के भीतर से ही कॉल नहीं किया जाना चाहिए। इसके बजाय, यूनिट परीक्षणों को गो टेस्ट कमांड का उपयोग करके निष्पादित किया जाना है।

ब्लैक एंड व्हाइट बॉक्स टेस्टिंग

गो दो प्रकार के यूनिट परीक्षण का समर्थन करता है: ब्लैक-बॉक्स और व्हाइट-बॉक्स .

ब्लैक-बॉक्स परीक्षण पैकेज के बाहर से निर्यात किए गए फ़ंक्शन का परीक्षण करता है, यह अनुकरण करता है कि बाहरी पैकेज इसके साथ कैसे इंटरैक्ट करेंगे।

व्हाइट-बॉक्स परीक्षण पैकेज के भीतर से ही अनएक्सपोर्टेड फ़ंक्शंस का परीक्षण करता है। example.go पैकेज उदाहरण func Sum(nums...int) int { योग := 0 _, संख्या के लिए := श्रेणी संख्याएं { योग = जोड़ें(योग, संख्या) } वापसी राशि } func ऐड(ए, बी इंट) इंट { ए बी लौटें }

ब्लैक-बॉक्स परीक्षण

(example_test.go में):

// example.go
package example

func Sum(nums ...int) int {
    sum := 0
    for _, num := range nums {
        sum = add(sum, num)
    }
    return sum
}

func add(a, b int) int {
    return a   b
}

व्हाइट-बॉक्स परीक्षण (example_internal_test.go में):

package example_test

import (
    "testing"

    "example"
)

func TestSum(t *testing.T) {
    tests := []struct {
        nums []int
        sum  int
    }{
        {nums: []int{1, 2, 3}, sum: 6},
        {nums: []int{2, 3, 4}, sum: 9},
    }

    for _, test := range tests {
        s := example.Sum(test.nums...)
        if s != test.sum {
            t.FailNow()
        }
    }
}

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

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

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

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

Copyright© 2022 湘ICP备2022001581号-3