Go में testing पैकेज के साथ टेस्टिंग एनवायरनमेंट (setup) को सही तरीके से कैसे कॉन्फ़िगर करें?
सभी को नमस्ते! मैंने Go सीखना शुरू किया है और अपने प्रोजेक्ट के लिए unit-टेस्ट लिखने की कोशिश कर रहा हूँ। मेरे पास एक फंक्शन है जो डेटाबेस के साथ काम करता है और कई क्वेरीज़ execute करता है। टेस्टिंग के लिए मुझे हर टेस्ट से पहले डेटा तैयार करना होता है: टेबल बनाना, टेस्ट रिकॉर्ड insert करना, और टेस्ट के बाद सब कुछ साफ करना।
मैं TestMain और t.Run फंक्शन के बारे में जानता हूँ, लेकिन समझ नहीं पा रहा हूँ कि setup/teardown के लिए इनका सही उपयोग कैसे करें। अन्य भाषाओं (Java, Python) में मैं @Before/@After एनोटेशन या pytest fixtures का आदी हूँ। Go में ऐसा कुछ नहीं है, और मुझे लगता है कि मैं हर टेस्ट में एक ही कोड कॉपी कर रहा हूँ।
यहाँ मेरे वर्तमान दृष्टिकोण का उदाहरण है (जो मुझे पसंद नहीं है):
```go
func TestGetUser(t *testing.T) {
db := setupDB() // डेटाबेस बनाता हूँ, टेबल बनाता हूँ, डेटा insert करता हूँ
defer teardownDB(db) // टेबल हटाता हूँ