Avatar ·

Comment désactiver la mise en cache des tests en Go et les forcer à être réexécutés ?

Bonjour à tous ! J'ai commencé à apprendre Go et j'écris des tests pour mon projet. J'ai remarqué un comportement étrange : lorsque j'exécute les tests plusieurs fois de suite avec `go test`, après la première exécution, ils s'exécutent instantanément, même si j'ai modifié le code source ou les tests. Dans la sortie, je vois `(cached)`, et cela me déroute. Exemple : j'ai un test simple : ```go package main import "testing" func TestAddition(t *testing.T) { result := 2 + 2 if result != 5 { // erreur intentionnelle t.Errorf("2 + 2 = %d, want 5", result) } } ``` Je l'exécute la première fois — le test échoue, comme prévu. Je corrige `5` en `4`, je relance — et le test affiche toujours l'ancien résultat avec l'erreur ! Ce n'est qu'après `go clean -testcache` ou en ajoutant explicitement le flag `-count=1` que le test est réexécuté. Pourquoi Go met-il en cache les résultats des tests ? Comment désactiver correctement cette mise en cache pour que les tests soient toujours réexécutés ? Existe-t-il un moyen de configurer cela globalement ou seulement pour un projet spécifique ?