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()
 }