go gin unit test
// main.go
package main
import (
	"net/http"
	"github.com/gin-gonic/gin"
)
func HelloWorld(c *gin.Context) {
	c.JSON(http.StatusOK, gin.H{
		"hello": "world",
	})
}
func main() {
	router := gin.Default()
	router.GET("/", HelloWorld)
	router.Run()
}
// main_test.go
package main
import (
	"net/http/httptest"
	"testing"
	"github.com/gin-gonic/gin"
	"github.com/stretchr/testify/assert"
)
func TestHelloWorld1(t *testing.T) {
	w := httptest.NewRecorder()
	gin.SetMode(gin.TestMode)
	c, _ := gin.CreateTestContext(w)
	HelloWorld(c)
	t.Run("get json data", func(t *testing.T) {
		assert.Equal(t, 200, w.Code)
	})
}
func TestHelloWorld2(t *testing.T) {
	w := httptest.NewRecorder()
	router := gin.Default()
	gin.SetMode(gin.TestMode)
	router.GET("/", HelloWorld)
	t.Run("get json data", func(t *testing.T) {
		assert.Equal(t, 200, w.Code)
	})
}
