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 ?