The net/http/httptest package is preferable way for HTTP testing.
package mainfunc setupRouter() *gin.Engine {r := gin.Default()r.GET("/ping", func(c *gin.Context) {c.String(200, "pong")})return r}func main() {r := setupRouter()r.Run(":8080")}
package mainimport ("net/http""net/http/httptest""testing""github.com/stretchr/testify/assert")func TestPingRoute(t *testing.T) {router := setupRouter()w := httptest.NewRecorder()req, _ := http.NewRequest("GET", "/ping", nil)router.ServeHTTP(w, req)assert.Equal(t, 200, w.Code)assert.Equal(t, "pong", w.Body.String())}
