Go में परीक्षण कैशिंग को कैसे बंद करें और उन्हें जबरदस्ती पुनः चलाएं?
सभी को नमस्कार! मैंने Go सीखना शुरू किया है और अपने प्रोजेक्ट के लिए tests लिख रहा हूँ। मैंने एक अजीब व्यवहार देखा: जब मैं `go test` का उपयोग करके लगातार कई बार tests चलाता हूँ, तो पहली बार चलाने के बाद वे तुरंत निष्पादित हो जाते हैं, भले ही मैंने source code या tests बदल दिए हों। आउटपुट में मुझे `(cached)` दिखता है, और यह मुझे भ्रमित करता है।
उदाहरण: मेरे पास एक सरल test है:
```go
package main
import "testing"
func TestAddition(t *testing.T) {
result := 2 + 2
if result != 5 { // जानबूझकर गलती की
t.Errorf("2 + 2 = %d, want 5", result)
}
}
```
पहली बार चलाता हूँ — test विफल होता है, जैसा अपेक्षित था। `5` को `4` में सुधारता हूँ, फिर से चलाता हूँ — लेकिन test अभी भी पुराना परिणाम त्रुटि के साथ दिखाता है! केवल `go clean -testcache` या स्पष्ट रूप से `-count=1` फ्लैग जोड़ने के बाद test फिर से चलता है।
Go test results को क्यों cache करता है? इस caching को सही तरीके से कैसे बंद करें ताकि tests हमेशा फिर से चलें? क्या इसे globally या केवल विशिष्ट tests के लिए कॉन्फ़िगर करने का कोई तरीका है? अग्रिम धन्यवाद!