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