From eae73babe0774028bd84335093197a5f1a64cae8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=88=90=E9=94=B4?= Date: Tue, 21 Mar 2023 05:47:49 +0800 Subject: [PATCH] Fix test error (#242) * Fix test error * Fix test error --- swagger_test.go | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/swagger_test.go b/swagger_test.go index 337cc8e..dd75f74 100644 --- a/swagger_test.go +++ b/swagger_test.go @@ -5,6 +5,7 @@ import ( "net/http" "net/http/httptest" "os" + "sync" "testing" "github.com/gin-contrib/gzip" @@ -22,6 +23,17 @@ func (s *mockedSwag) ReadDoc() string { }` } +var ( + once sync.Once + doc = &mockedSwag{} +) + +func regDoc() { + once.Do(func() { + swag.Register(swag.Name, doc) + }) +} + func TestWrapHandler(t *testing.T) { gin.SetMode(gin.TestMode) router := gin.New() @@ -32,6 +44,8 @@ func TestWrapHandler(t *testing.T) { } func TestWrapCustomHandler(t *testing.T) { + regDoc() + gin.SetMode(gin.TestMode) router := gin.New() @@ -41,10 +55,7 @@ func TestWrapCustomHandler(t *testing.T) { assert.Equal(t, http.StatusOK, w1.Code) assert.Equal(t, w1.Header()["Content-Type"][0], "text/html; charset=utf-8") - assert.Equal(t, http.StatusInternalServerError, performRequest(http.MethodGet, "/doc.json", router).Code) - - doc := &mockedSwag{} - swag.Register(swag.Name, doc) + assert.Equal(t, http.StatusOK, performRequest(http.MethodGet, "/doc.json", router).Code) w2 := performRequest(http.MethodGet, "/doc.json", router) assert.Equal(t, http.StatusOK, w2.Code) @@ -75,6 +86,8 @@ func TestWrapCustomHandler(t *testing.T) { } func TestDisablingWrapHandler(t *testing.T) { + regDoc() + gin.SetMode(gin.TestMode) router := gin.New() @@ -116,6 +129,8 @@ func TestDisablingCustomWrapHandler(t *testing.T) { } func TestWithGzipMiddleware(t *testing.T) { + regDoc() + gin.SetMode(gin.TestMode) router := gin.New()