क्या GoLang (गवाही) में यूनिट परीक्षणों और एकीकरण परीक्षणों को अलग करने के लिए एक स्थापित सर्वोत्तम अभ्यास है? मेरे पास इकाई परीक्षणों का मिश्रण है (जो किसी भी बाहरी संसाधनों पर भरोसा नहीं करते हैं और इस प्रकार वास्तव में तेजी से चलते हैं) और एकीकरण परीक्षण (जो किसी भी बाहरी संसाधनों पर भरोसा करते हैं और इस तरह धीमी गति से चलते हैं)। इसलिए, मैं यह कहना चाहता हूं कि जब मैं कहूं तो एकीकरण परीक्षण शामिल कर सकता हूं या नहीं go test
।
सबसे सीधी-आगे की तकनीक मुख्य रूप से एक-ध्वज को परिभाषित करने के लिए प्रतीत होगी:
var runIntegrationTests = flag.Bool("integration", false
, "Run the integration tests (in addition to the unit tests)")
और फिर हर एकीकरण परीक्षण के शीर्ष पर एक if-statement जोड़ने के लिए:
if !*runIntegrationTests {
this.T().Skip("To run this test, use: go test -integration")
}
क्या यह सबसे अच्छा मैं कर सकता हूं? मैंने यह देखने के लिए गवाही दस्तावेज खोजा कि क्या कोई नामकरण सम्मेलन या कुछ ऐसा है जो मेरे लिए इसे पूरा करता है, लेकिन कुछ भी नहीं मिला। क्या मैं कुछ भूल रहा हूँ?
var integration = flag.Bool("integration", true, "Enable integration testing.")
किसी फ़ंक्शन के बाहर के रूप में संस्करण को परिभाषित करते हैं , तो चर पैकेज के दायरे में दिखाई देगा, और झंडा ठीक से काम करेगा