Comment mesurer la couverture de code (code coverage) en Go ?
Bonjour, collègues ! Je viens de commencer à apprendre Go, et j'ai un problème pour mesurer la couverture de code par les tests. J'écris une petite API REST avec net/http, et je veux m'assurer que mes tests couvrent tous les scénarios principaux.
Voici un exemple de mon code :
```go
package main
import (
"net/http"
"testing"
)
func handler(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("Hello, World!"))
}
func TestHandler(t *testing.T) {
req, _ := http.NewRequest("GET", "/", nil)
rr := httptest.NewRecorder()
handler(rr, req)
if rr.Code != http.StatusOK {
t.Errorf("expected 200, got %d", rr.Code)
}
}
```
Je lance les tests via `go test`, mais comment savoir quel pourcentage du code est couvert par les tests ? Dans la documentation, il est question du flag `-cover`, mais je ne comprends pas comment l'utiliser.