Avatar ·

Wie deaktiviere ich das Caching von Tests in Go und erzwinge deren Neustart?

Hallo zusammen! Ich habe angefangen, Go zu lernen und schreibe Tests für mein Projekt. Mir ist ein seltsames Verhalten aufgefallen: Wenn ich die Tests mehrmals hintereinander mit `go test` ausführe, werden sie nach dem ersten Durchlauf sofort ausgeführt, selbst wenn ich den Quellcode oder die Tests geändert habe. In der Ausgabe sehe ich `(cached)`, und das verwirrt mich. Beispiel: Ich habe einen einfachen Test: ```go package main import "testing" func TestAddition(t *testing.T) { result := 2 + 2 if result != 5 { // absichtlich einen Fehler eingebaut t.Errorf("2 + 2 = %d, want 5", result) } } ``` Beim ersten Ausführen schlägt der Test erwartungsgemäß fehl. Ich korrigiere `5` auf `4`, führe den Test erneut aus – aber der Test zeigt immer noch das alte Ergebnis mit dem Fehler! Erst nach `go clean -testcache` oder dem expliziten Hinzufügen des Flags `-count=1` wird der Test neu gestartet.