diff --git a/config/base_config_test.go b/config/base_config_test.go
index 239bece47553b11483764898eb58c978ef860d66..4180247637a78473ac455e93c70aebbc6e2d6f8e 100644
--- a/config/base_config_test.go
+++ b/config/base_config_test.go
@@ -130,6 +130,102 @@ func Test_appExternal_refresh(t *testing.T) {
 	mockMap := map[string]string{}
 	mockMap["dubbo.registries.shanghai_reg1.protocol"] = "mock100"
 	mockMap["dubbo.reference.com.MockService.MockService.retries"] = "10"
+	mockMap["dubbo.reference.com.MockService.retries"] = "5"
+	mockMap["dubbo.com.MockService.MockService.GetUser.retries"] = "10"
+	mockMap["dubbo.consumer.check"] = "false"
+	mockMap["dubbo.application.name"] = "dubbo"
+
+	config.GetEnvInstance().UpdateAppExternalConfigMap(mockMap)
+	mockMap["dubbo.consumer.check"] = "true"
+	config.GetEnvInstance().UpdateExternalConfigMap(mockMap)
+	father := &ConsumerConfig{
+		Check: &[]bool{true}[0],
+		ApplicationConfig: &ApplicationConfig{
+			Organization: "dubbo_org",
+			Name:         "dubbo",
+			Module:       "module",
+			Version:      "2.6.0",
+			Owner:        "dubbo",
+			Environment:  "test"},
+		Registries: map[string]*RegistryConfig{
+			//"shanghai_reg1": {
+			//	id:         "shanghai_reg1",
+			//	Protocol:   "mock",
+			//	TimeoutStr: "2s",
+			//	Group:      "shanghai_idc",
+			//	Address:    "127.0.0.1:2181",
+			//	Username:   "user1",
+			//	Password:   "pwd1",
+			//},
+			"shanghai_reg2": {
+				Protocol:   "mock",
+				TimeoutStr: "2s",
+				Group:      "shanghai_idc",
+				Address:    "127.0.0.2:2181",
+				Username:   "user1",
+				Password:   "pwd1",
+			},
+			"hangzhou_reg1": {
+				Protocol:   "mock",
+				TimeoutStr: "2s",
+				Group:      "hangzhou_idc",
+				Address:    "127.0.0.3:2181",
+				Username:   "user1",
+				Password:   "pwd1",
+			},
+			"hangzhou_reg2": {
+				Protocol:   "mock",
+				TimeoutStr: "2s",
+				Group:      "hangzhou_idc",
+				Address:    "127.0.0.4:2181",
+				Username:   "user1",
+				Password:   "pwd1",
+			},
+		},
+		References: map[string]*ReferenceConfig{
+			"MockService": {
+				InterfaceName: "com.MockService",
+				Protocol:      "mock",
+				Cluster:       "failover",
+				Loadbalance:   "random",
+				Retries:       3,
+				Group:         "huadong_idc",
+				Version:       "1.0.0",
+				Methods: []*MethodConfig{
+					{
+						InterfaceId:   "MockService",
+						InterfaceName: "com.MockService",
+						Name:          "GetUser",
+						Retries:       2,
+						Loadbalance:   "random",
+					},
+					{
+						InterfaceId:   "MockService",
+						InterfaceName: "com.MockService",
+						Name:          "GetUser1",
+						Retries:       2,
+						Loadbalance:   "random",
+					},
+				},
+			},
+		},
+	}
+
+	c.SetFatherConfig(father)
+	c.fresh()
+	assert.Equal(t, "mock100", father.Registries["shanghai_reg1"].Protocol)
+	assert.Equal(t, int64(10), father.References["MockService"].Retries)
+
+	assert.Equal(t, int64(10), father.References["MockService"].Methods[0].Retries)
+	assert.Equal(t, &[]bool{true}[0], father.Check)
+	assert.Equal(t, "dubbo", father.ApplicationConfig.Name)
+}
+
+func Test_appExternalWithoutId_refresh(t *testing.T) {
+	c := &BaseConfig{}
+	mockMap := map[string]string{}
+	mockMap["dubbo.registries.shanghai_reg1.protocol"] = "mock100"
+	mockMap["dubbo.reference.com.MockService.retries"] = "10"
 	mockMap["dubbo.com.MockService.MockService.GetUser.retries"] = "10"
 	mockMap["dubbo.consumer.check"] = "false"
 	mockMap["dubbo.application.name"] = "dubbo"