Avatar ·

Como desabilitar o cache de testes em Go e forçá-los a serem executados novamente?

Olá a todos! Comecei a estudar Go e estou escrevendo testes para meu projeto. Notei um comportamento estranho: quando executo os testes várias vezes seguidas com `go test`, após a primeira execução eles começam a rodar instantaneamente, mesmo se eu alterei o código-fonte ou os testes. Na saída, vejo `(cached)`, e isso me confunde. Exemplo: tenho um teste simples: ```go package main import "testing" func TestAddition(t *testing.T) { result := 2 + 2 if result != 5 { // erro proposital t.Errorf("2 + 2 = %d, want 5", result) } } ``` Executo pela primeira vez — o teste falha, como esperado. Corrijo `5` para `4`, executo novamente — e o teste ainda mostra o resultado antigo com erro! Somente após `go clean -testcache` ou adicionar explicitamente a flag `-count=1` o teste é executado novamente. Por que o Go armazena em cache os resultados dos testes? Como desabilitar esse cache corretamente para que os testes sempre sejam executados novamente? Existe uma maneira de configurar isso globalmente ou apenas para testes específicos?