diff --git a/config_center/nacos/client_test.go b/config_center/nacos/client_test.go index 47a05dec6674e995aa9e5bd177ef339b768aa740..96b4c9d4ac7af8d48e570f0b702b7529cc5603dd 100644 --- a/config_center/nacos/client_test.go +++ b/config_center/nacos/client_test.go @@ -3,6 +3,7 @@ package nacos import ( "strings" "testing" + "time" ) import ( @@ -25,7 +26,13 @@ func Test_newNacosClient(t *testing.T) { assert.NoError(t, err) c.wg.Add(1) go HandleClientRestart(c) - c.client.Close() + go func() { + // c.client.Close() and <-c.client.Done() have order requirements. + // If c.client.Close() is called first.It is possible that "go HandleClientRestart(c)" + // sets c.client to nil before calling c.client.Done(). + time.Sleep(time.Second) + c.client.Close() + }() <-c.client.Done() c.Destroy() }