मैंने गो के भीतर कई अलग-अलग टेस्ट पैकेज नामकरण रणनीतियों को देखा है और जानना चाहता है कि प्रत्येक के पेशेवरों और विपक्ष क्या हैं और मुझे कौन सा उपयोग करना चाहिए।
रणनीति 1:
फ़ाइल नाम: github.com/user/myfunc.go
package myfunc
टेस्ट फ़ाइल नाम: github.com/user/myfunc_test.go
package myfunc
उदाहरण के लिए bzip2 देखें ।
रणनीति 2:
फ़ाइल नाम: github.com/user/myfunc.go
package myfunc
टेस्ट फ़ाइल नाम: github.com/user/myfunc_test.go
package myfunc_test
import (
"github.com/user/myfunc"
)
एक उदाहरण के लिए तार देखें ।
रणनीति 3:
फ़ाइल नाम: github.com/user/myfunc.go
package myfunc
टेस्ट फ़ाइल नाम: github.com/user/myfunc_test.go
package myfunc_test
import (
. "myfunc"
)
एक उदाहरण के लिए तार देखें ।
गो मानक पुस्तकालय रणनीति 1 और 2 के मिश्रण का उपयोग करता है। मुझे इन तीनों में से किसका उपयोग करना चाहिए? यह package *_test
मेरे परीक्षण पैकेजों के लिए एक दर्द है, क्योंकि इसका मतलब है कि मैं अपने पैकेज के निजी तरीकों का परीक्षण नहीं कर सकता हूं, लेकिन शायद एक छिपा हुआ लाभ है जो मुझे पता नहीं है?