Avatar ·

¿Cómo medir la cobertura de código (code coverage) en Go?

¡Hola, colegas! Acabo de empezar a aprender Go y tengo un problema con la medición de la cobertura de código por pruebas. Estoy escribiendo una pequeña API REST con net/http y quiero asegurarme de que mis pruebas cubran todos los escenarios principales. Aquí hay un ejemplo de mi código: ```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) } } ``` Ejecuto las pruebas con `go test`, pero ¿cómo saber qué porcentaje del código está cubierto por las pruebas? En la documentación se menciona la bandera `-cover`, pero no entiendo cómo usarla correctamente. También he visto algunos perfiles de cobertura, pero parecen complicados. Por favor, indíquenme cómo, para un principiante: 1. Ver simplemente el porcentaje total de cobertura. 2. Ver qué líneas específicas están cubiertas.