diff --git a/context_test.go b/context_test.go index 1044265c..acbeb28e 100644 --- a/context_test.go +++ b/context_test.go @@ -16,6 +16,7 @@ import ( "os" "reflect" "strings" + "sync" "testing" "time" @@ -1818,15 +1819,19 @@ func TestRaceParamsContextCopy(t *testing.T) { DefaultWriter = os.Stdout router := Default() nameGroup := router.Group("/:name") + var wg sync.WaitGroup + wg.Add(2) { nameGroup.GET("/api", func(c *Context) { go func(c *Context, param string) { - time.Sleep(100 * time.Millisecond) + defer wg.Done() + // First assert must be executed after the second request + time.Sleep(50 * time.Millisecond) assert.Equal(t, c.Param("name"), param) }(c.Copy(), c.Param("name")) }) } performRequest(router, "GET", "/name1/api") performRequest(router, "GET", "/name2/api") - time.Sleep(200 * time.Millisecond) + wg.Wait() }