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