गो में, परीक्षण फ़ंक्शन को कोड के भीतर से ही कॉल नहीं किया जाना चाहिए। इसके बजाय, यूनिट परीक्षणों को गो टेस्ट
गो दो प्रकार के यूनिट परीक्षण का समर्थन करता है: ब्लैक-बॉक्स और व्हाइट-बॉक्स .
ब्लैक-बॉक्स परीक्षण पैकेज के बाहर से निर्यात किए गए फ़ंक्शन का परीक्षण करता है, यह अनुकरण करता है कि बाहरी पैकेज इसके साथ कैसे इंटरैक्ट करेंगे।
व्हाइट-बॉक्स परीक्षण पैकेज के भीतर से ही अनएक्सपोर्टेड फ़ंक्शंस का परीक्षण करता है। 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