lovepoem closed pull request #1885: Enchance test coverage of dubbo cluster 
module
URL: https://github.com/apache/incubator-dubbo/pull/1885
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/AbstractConfigurator.java
 
b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/AbstractConfigurator.java
index a21337553e..42b688b9d8 100644
--- 
a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/AbstractConfigurator.java
+++ 
b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/configurator/AbstractConfigurator.java
@@ -40,10 +40,6 @@ public AbstractConfigurator(URL url) {
         this.configuratorUrl = url;
     }
 
-    public static void main(String[] args) {
-        System.out.println(URL.encode("timeout=100"));
-    }
-
     @Override
     public URL getUrl() {
         return configuratorUrl;
diff --git 
a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/ConsistentHashLoadBalance.java
 
b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/ConsistentHashLoadBalance.java
index 595cec97a4..d65113ba0b 100644
--- 
a/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/ConsistentHashLoadBalance.java
+++ 
b/dubbo-cluster/src/main/java/com/alibaba/dubbo/rpc/cluster/loadbalance/ConsistentHashLoadBalance.java
@@ -36,6 +36,7 @@
  *
  */
 public class ConsistentHashLoadBalance extends AbstractLoadBalance {
+    public static final String NAME = "consistenthash";
 
     private final ConcurrentMap<String, ConsistentHashSelector<?>> selectors = 
new ConcurrentHashMap<String, ConsistentHashSelector<?>>();
 
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/absent/AbsentConfiguratorTest.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/absent/AbsentConfiguratorTest.java
index e6d4107f8f..7dc3effd80 100644
--- 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/absent/AbsentConfiguratorTest.java
+++ 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/absent/AbsentConfiguratorTest.java
@@ -18,49 +18,50 @@
 
 import com.alibaba.dubbo.common.URL;
 import com.alibaba.dubbo.common.utils.NetUtils;
+import com.alibaba.dubbo.rpc.cluster.configurator.consts.UrlConstant;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Test;
 
 /**
  * OverrideConfiguratorTest
- *
  */
 public class AbsentConfiguratorTest {
 
+
     @Test
-    public void testOverride_Application() {
+    public void testOverrideApplication() {
         AbsentConfigurator configurator = new 
AbsentConfigurator(URL.valueOf("override://[email protected]/com.foo.BarService?timeout=200"));
 
-        URL url = 
configurator.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=foo&side=consumer"));
+        URL url = 
configurator.configure(URL.valueOf(UrlConstant.URL_CONSUMER));
         Assert.assertEquals("200", url.getParameter("timeout"));
 
-        url = 
configurator.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=foo&timeout=1000&side=consumer"));
+        url = configurator.configure(URL.valueOf(UrlConstant.URL_ONE));
         Assert.assertEquals("1000", url.getParameter("timeout"));
 
-        url = 
configurator.configure(URL.valueOf("dubbo://10.20.153.11:20880/com.foo.BarService?application=bar&side=consumer"));
+        url = 
configurator.configure(URL.valueOf(UrlConstant.APPLICATION_BAR_SIDE_CONSUMER_11));
         Assert.assertNull(url.getParameter("timeout"));
 
-        url = 
configurator.configure(URL.valueOf("dubbo://10.20.153.11:20880/com.foo.BarService?application=bar&timeout=1000&side=consumer"));
+        url = 
configurator.configure(URL.valueOf(UrlConstant.TIMEOUT_1000_SIDE_CONSUMER_11));
         Assert.assertEquals("1000", url.getParameter("timeout"));
     }
 
     @Test
-    public void testOverride_Host() {
+    public void testOverrideHost() {
         AbsentConfigurator configurator = new 
AbsentConfigurator(URL.valueOf("override://" + NetUtils.getLocalHost() + 
"/com.foo.BarService?timeout=200"));
 
-        URL url = 
configurator.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=foo&side=consumer"));
+        URL url = 
configurator.configure(URL.valueOf(UrlConstant.URL_CONSUMER));
         Assert.assertEquals("200", url.getParameter("timeout"));
 
-        url = 
configurator.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=foo&timeout=1000&side=consumer"));
+        url = configurator.configure(URL.valueOf(UrlConstant.URL_ONE));
         Assert.assertEquals("1000", url.getParameter("timeout"));
 
-        AbsentConfigurator configurator1 = new 
AbsentConfigurator(URL.valueOf("override://10.20.153.10/com.foo.BarService?timeout=200"));
+        AbsentConfigurator configurator1 = new 
AbsentConfigurator(URL.valueOf(UrlConstant.SERVICE_TIMEOUT_200));
 
-        url = 
configurator1.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=bar&side=consumer"));
+        url = 
configurator1.configure(URL.valueOf(UrlConstant.APPLICATION_BAR_SIDE_CONSUMER_10));
         Assert.assertNull(url.getParameter("timeout"));
 
-        url = 
configurator1.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=bar&timeout=1000&side=consumer"));
+        url = 
configurator1.configure(URL.valueOf(UrlConstant.TIMEOUT_1000_SIDE_CONSUMER_10));
         Assert.assertEquals("1000", url.getParameter("timeout"));
     }
 
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/consts/UrlConstant.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/consts/UrlConstant.java
new file mode 100644
index 0000000000..3f8e0ecca9
--- /dev/null
+++ 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/consts/UrlConstant.java
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.alibaba.dubbo.rpc.cluster.configurator.consts;
+
+/**
+ * test case url constant
+ */
+public class UrlConstant {
+    public static final String URL_CONSUMER = 
"dubbo://10.20.153.10:20880/com.foo.BarService?application=foo&side=consumer";
+    public static final String URL_ONE = 
"dubbo://10.20.153.10:20880/com.foo.BarService?application=foo&timeout=1000&side=consumer";
+    public static final String APPLICATION_BAR_SIDE_CONSUMER_11 = 
"dubbo://10.20.153.11:20880/com.foo.BarService?application=bar&side=consumer";
+    public static final String TIMEOUT_1000_SIDE_CONSUMER_11 = 
"dubbo://10.20.153.11:20880/com.foo.BarService?application=bar&timeout=1000&side=consumer";
+    public static final String SERVICE_TIMEOUT_200 = 
"override://10.20.153.10/com.foo.BarService?timeout=200";
+    public static final String APPLICATION_BAR_SIDE_CONSUMER_10 = 
"dubbo://10.20.153.10:20880/com.foo.BarService?application=bar&side=consumer";
+    public static final String TIMEOUT_1000_SIDE_CONSUMER_10 = 
"dubbo://10.20.153.10:20880/com.foo.BarService?application=bar&timeout=1000&side=consumer";
+
+}
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/override/OverrideConfiguratorTest.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/override/OverrideConfiguratorTest.java
index 3e62443839..ada9d7ea92 100644
--- 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/override/OverrideConfiguratorTest.java
+++ 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/configurator/override/OverrideConfiguratorTest.java
@@ -19,13 +19,13 @@
 import com.alibaba.dubbo.common.URL;
 import com.alibaba.dubbo.common.utils.NetUtils;
 import com.alibaba.dubbo.rpc.cluster.configurator.absent.AbsentConfigurator;
+import com.alibaba.dubbo.rpc.cluster.configurator.consts.UrlConstant;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Test;
 
 /**
  * OverrideConfiguratorTest
- *
  */
 public class OverrideConfiguratorTest {
 
@@ -33,16 +33,16 @@
     public void testOverride_Application() {
         OverrideConfigurator configurator = new 
OverrideConfigurator(URL.valueOf("override://[email protected]/com.foo.BarService?timeout=200"));
 
-        URL url = 
configurator.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=foo&side=consumer"));
+        URL url = 
configurator.configure(URL.valueOf(UrlConstant.URL_CONSUMER));
         Assert.assertEquals("200", url.getParameter("timeout"));
 
-        url = 
configurator.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=foo&timeout=1000&side=consumer"));
+        url = configurator.configure(URL.valueOf(UrlConstant.URL_ONE));
         Assert.assertEquals("200", url.getParameter("timeout"));
 
-        url = 
configurator.configure(URL.valueOf("dubbo://10.20.153.11:20880/com.foo.BarService?application=bar&side=consumer"));
+        url = 
configurator.configure(URL.valueOf(UrlConstant.APPLICATION_BAR_SIDE_CONSUMER_11));
         Assert.assertNull(url.getParameter("timeout"));
 
-        url = 
configurator.configure(URL.valueOf("dubbo://10.20.153.11:20880/com.foo.BarService?application=bar&timeout=1000&side=consumer"));
+        url = 
configurator.configure(URL.valueOf(UrlConstant.TIMEOUT_1000_SIDE_CONSUMER_11));
         Assert.assertEquals("1000", url.getParameter("timeout"));
     }
 
@@ -50,18 +50,18 @@ public void testOverride_Application() {
     public void testOverride_Host() {
         OverrideConfigurator configurator = new 
OverrideConfigurator(URL.valueOf("override://" + NetUtils.getLocalHost() + 
"/com.foo.BarService?timeout=200"));
 
-        URL url = 
configurator.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=foo&side=consumer"));
+        URL url = 
configurator.configure(URL.valueOf(UrlConstant.URL_CONSUMER));
         Assert.assertEquals("200", url.getParameter("timeout"));
 
-        url = 
configurator.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=foo&timeout=1000&side=consumer"));
+        url = configurator.configure(URL.valueOf(UrlConstant.URL_ONE));
         Assert.assertEquals("200", url.getParameter("timeout"));
 
         AbsentConfigurator configurator1 = new 
AbsentConfigurator(URL.valueOf("override://10.20.153.10/com.foo.BarService?timeout=200"));
 
-        url = 
configurator1.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=bar&side=consumer"));
+        url = 
configurator1.configure(URL.valueOf(UrlConstant.APPLICATION_BAR_SIDE_CONSUMER_10));
         Assert.assertNull(url.getParameter("timeout"));
 
-        url = 
configurator1.configure(URL.valueOf("dubbo://10.20.153.10:20880/com.foo.BarService?application=bar&timeout=1000&side=consumer"));
+        url = 
configurator1.configure(URL.valueOf(UrlConstant.TIMEOUT_1000_SIDE_CONSUMER_10));
         Assert.assertEquals("1000", url.getParameter("timeout"));
     }
 
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/directory/MockDirInvocation.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/directory/MockDirInvocation.java
new file mode 100644
index 0000000000..4c900fb712
--- /dev/null
+++ 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/directory/MockDirInvocation.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.alibaba.dubbo.rpc.cluster.directory;
+
+import com.alibaba.dubbo.common.Constants;
+import com.alibaba.dubbo.rpc.Invocation;
+import com.alibaba.dubbo.rpc.Invoker;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * MockInvocation.java
+ */
+public class MockDirInvocation implements Invocation {
+
+    public String getMethodName() {
+        return "echo";
+    }
+
+    public Class<?>[] getParameterTypes() {
+        return new Class[]{String.class};
+    }
+
+    public Object[] getArguments() {
+        return new Object[]{"aa"};
+    }
+
+    public Map<String, String> getAttachments() {
+        Map<String, String> attachments = new HashMap<String, String>();
+        attachments.put(Constants.PATH_KEY, "dubbo");
+        attachments.put(Constants.GROUP_KEY, "dubbo");
+        attachments.put(Constants.VERSION_KEY, "1.0.0");
+        attachments.put(Constants.DUBBO_VERSION_KEY, "1.0.0");
+        attachments.put(Constants.TOKEN_KEY, "sfag");
+        attachments.put(Constants.TIMEOUT_KEY, "1000");
+        return attachments;
+    }
+
+    public Invoker<?> getInvoker() {
+        return null;
+    }
+
+    public String getAttachment(String key) {
+        return getAttachments().get(key);
+    }
+
+    public String getAttachment(String key, String defaultValue) {
+        return getAttachments().get(key);
+    }
+
+}
\ No newline at end of file
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/directory/StaticDirectoryTest.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/directory/StaticDirectoryTest.java
new file mode 100644
index 0000000000..29839b25bf
--- /dev/null
+++ 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/directory/StaticDirectoryTest.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.alibaba.dubbo.rpc.cluster.directory;
+
+import com.alibaba.dubbo.common.Constants;
+import com.alibaba.dubbo.common.URL;
+import com.alibaba.dubbo.common.utils.NetUtils;
+import com.alibaba.dubbo.rpc.Invoker;
+import com.alibaba.dubbo.rpc.RpcInvocation;
+import com.alibaba.dubbo.rpc.cluster.Router;
+import com.alibaba.dubbo.rpc.cluster.router.MockInvoker;
+import com.alibaba.dubbo.rpc.cluster.router.condition.ConditionRouterFactory;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * StaticDirectory Test
+ */
+public class StaticDirectoryTest {
+    private URL SCRIPT_URL = 
URL.valueOf("condition://0.0.0.0/com.foo.BarService");
+
+    private URL getRouteUrl(String rule) {
+        return SCRIPT_URL.addParameterAndEncoded(Constants.RULE_KEY, rule);
+    }
+
+    @Test
+    public void testStaticDirectory() {
+        Router router = new ConditionRouterFactory().getRouter(getRouteUrl(" 
=> " + " host = " + NetUtils.getLocalHost()));
+        List<Router> routers = new ArrayList<Router>();
+        routers.add(router);
+        List<Invoker<String>> invokers = new ArrayList<Invoker<String>>();
+        Invoker<String> invoker1 = new 
MockInvoker<String>(URL.valueOf("dubbo://10.20.3.3:20880/com.foo.BarService"));
+        Invoker<String> invoker2 = new 
MockInvoker<String>(URL.valueOf("dubbo://" + NetUtils.getLocalHost() + 
":20880/com.foo.BarService"));
+        Invoker<String> invoker3 = new 
MockInvoker<String>(URL.valueOf("dubbo://" + NetUtils.getLocalHost() + 
":20880/com.foo.BarService"));
+        invokers.add(invoker1);
+        invokers.add(invoker2);
+        invokers.add(invoker3);
+        List<Invoker<String>> filteredInvokers = router.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
+        StaticDirectory staticDirectory = new 
StaticDirectory(filteredInvokers);
+        Boolean isAvailable = staticDirectory.isAvailable();
+        Assert.assertTrue(!isAvailable);
+        List<Invoker> newInvokers = staticDirectory.list(new 
MockDirInvocation());
+        Assert.assertTrue(newInvokers.size() > 0);
+        staticDirectory.destroy();
+        Assert.assertTrue(newInvokers.size() == 0);
+    }
+}
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/ConsistentHashLoadBalanceTest.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/ConsistentHashLoadBalanceTest.java
new file mode 100644
index 0000000000..4cfaffbd71
--- /dev/null
+++ 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/ConsistentHashLoadBalanceTest.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.alibaba.dubbo.rpc.cluster.loadbalance;
+
+import com.alibaba.dubbo.rpc.Invoker;
+
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicLong;
+
+public class ConsistentHashLoadBalanceTest extends LoadBalanceBaseTest {
+    @Ignore
+    @Test
+    public void testConsistentHashLoadBalance() {
+        int runs = 10000;
+        Map<Invoker, AtomicLong> counter = getInvokeCounter(runs, 
ConsistentHashLoadBalance.NAME);
+        for (Invoker minvoker : counter.keySet()) {
+            Long count = counter.get(minvoker).get();
+            Assert.assertTrue("abs diff should < avg", Math.abs(count - runs / 
(0f + invokers.size())) < runs / (0f + invokers.size()));
+        }
+    }
+
+}
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LeastActiveBalanceTest.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LeastActiveBalanceTest.java
new file mode 100644
index 0000000000..4d82c86d32
--- /dev/null
+++ 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LeastActiveBalanceTest.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License")); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.alibaba.dubbo.rpc.cluster.loadbalance;
+
+import com.alibaba.dubbo.rpc.Invoker;
+
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicLong;
+
+public class LeastActiveBalanceTest extends LoadBalanceBaseTest {
+    @Ignore
+    @Test
+    public void testLeastActiveLoadBalance_select() {
+        int runs = 10000;
+        Map<Invoker, AtomicLong> counter = getInvokeCounter(runs, 
LeastActiveLoadBalance.NAME);
+        for (Invoker minvoker : counter.keySet()) {
+            Long count = counter.get(minvoker).get();
+            //            System.out.println(count);
+            Assert.assertTrue("abs diff shoud < avg",
+                    Math.abs(count - runs / (0f + invokers.size())) < runs / 
(0f + invokers.size()));
+        }
+    }
+
+}
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LoadBalanceBaseTest.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LoadBalanceBaseTest.java
new file mode 100644
index 0000000000..e7a22c5092
--- /dev/null
+++ 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LoadBalanceBaseTest.java
@@ -0,0 +1,148 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License")); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.alibaba.dubbo.rpc.cluster.loadbalance;
+
+import com.alibaba.dubbo.common.Constants;
+import com.alibaba.dubbo.common.URL;
+import com.alibaba.dubbo.common.extension.ExtensionLoader;
+import com.alibaba.dubbo.rpc.Invocation;
+import com.alibaba.dubbo.rpc.Invoker;
+import com.alibaba.dubbo.rpc.cluster.LoadBalance;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.atomic.AtomicLong;
+
+import static org.mockito.BDDMockito.given;
+import static org.mockito.Mockito.mock;
+
+/**
+ * RoundRobinLoadBalanceTest
+ */
+@SuppressWarnings({"unchecked", "rawtypes"})
+public class LoadBalanceBaseTest {
+    Invocation invocation;
+    List<Invoker<LoadBalanceBaseTest>> invokers = new 
ArrayList<Invoker<LoadBalanceBaseTest>>();
+    Invoker<LoadBalanceBaseTest> invoker1;
+    Invoker<LoadBalanceBaseTest> invoker2;
+    Invoker<LoadBalanceBaseTest> invoker3;
+    Invoker<LoadBalanceBaseTest> invoker4;
+    Invoker<LoadBalanceBaseTest> invoker5;
+
+    /**
+     * @throws java.lang.Exception
+     */
+    @BeforeClass
+    public static void setUpBeforeClass() throws Exception {
+    }
+
+    /**
+     * @throws java.lang.Exception
+     */
+    @Before
+    public void setUp() throws Exception {
+
+        invocation = mock(Invocation.class);
+        given(invocation.getMethodName()).willReturn("method1");
+
+        invoker1 = mock(Invoker.class);
+        invoker2 = mock(Invoker.class);
+        invoker3 = mock(Invoker.class);
+        invoker4 = mock(Invoker.class);
+        invoker5 = mock(Invoker.class);
+
+        URL url1 = URL.valueOf("test://127.0.0.1:1/DemoService");
+        URL url2 = URL.valueOf("test://127.0.0.1:2/DemoService");
+        URL url3 = URL.valueOf("test://127.0.0.1:3/DemoService");
+        URL url4 = URL.valueOf("test://127.0.0.1:4/DemoService");
+        URL url5 = URL.valueOf("test://127.0.0.1:5/DemoService");
+
+        given(invoker1.isAvailable()).willReturn(true);
+        given(invoker1.getInterface()).willReturn(LoadBalanceBaseTest.class);
+        given(invoker1.getUrl()).willReturn(url1);
+
+        given(invoker2.isAvailable()).willReturn(true);
+        given(invoker2.getInterface()).willReturn(LoadBalanceBaseTest.class);
+        given(invoker2.getUrl()).willReturn(url2);
+
+        given(invoker3.isAvailable()).willReturn(true);
+        given(invoker3.getInterface()).willReturn(LoadBalanceBaseTest.class);
+        given(invoker3.getUrl()).willReturn(url3);
+
+        given(invoker4.isAvailable()).willReturn(true);
+        given(invoker4.getInterface()).willReturn(LoadBalanceBaseTest.class);
+        given(invoker4.getUrl()).willReturn(url4);
+
+        given(invoker5.isAvailable()).willReturn(true);
+        given(invoker5.getInterface()).willReturn(LoadBalanceBaseTest.class);
+        given(invoker5.getUrl()).willReturn(url5);
+
+        invokers.add(invoker1);
+        invokers.add(invoker2);
+        invokers.add(invoker3);
+        invokers.add(invoker4);
+        invokers.add(invoker5);
+    }
+
+    public Map<Invoker, AtomicLong> getInvokeCounter(int runs, String 
loadbalanceName) {
+        Map<Invoker, AtomicLong> counter = new ConcurrentHashMap<Invoker, 
AtomicLong>();
+        LoadBalance lb = 
ExtensionLoader.getExtensionLoader(LoadBalance.class).getExtension(loadbalanceName);
+        for (Invoker invoker : invokers) {
+            counter.put(invoker, new AtomicLong(0));
+        }
+        for (int i = 0; i < runs; i++) {
+            Invoker sinvoker = lb.select(invokers, invokers.get(0).getUrl(), 
invocation);
+            counter.get(sinvoker).incrementAndGet();
+        }
+        return counter;
+    }
+
+    @Test
+    public void testLoadBalanceWarmup() {
+        Assert.assertEquals(1, calculateDefaultWarmupWeight(0));
+        Assert.assertEquals(1, calculateDefaultWarmupWeight(13));
+        Assert.assertEquals(1, calculateDefaultWarmupWeight(6 * 1000));
+        Assert.assertEquals(2, calculateDefaultWarmupWeight(12 * 1000));
+        Assert.assertEquals(10, calculateDefaultWarmupWeight(60 * 1000));
+        Assert.assertEquals(50, calculateDefaultWarmupWeight(5 * 60 * 1000));
+        Assert.assertEquals(50, calculateDefaultWarmupWeight(5 * 60 * 1000 + 
23));
+        Assert.assertEquals(50, calculateDefaultWarmupWeight(5 * 60 * 1000 + 
5999));
+        Assert.assertEquals(51, calculateDefaultWarmupWeight(5 * 60 * 1000 + 
6000));
+        Assert.assertEquals(90, calculateDefaultWarmupWeight(9 * 60 * 1000));
+        Assert.assertEquals(98, calculateDefaultWarmupWeight(10 * 60 * 1000 - 
12 * 1000));
+        Assert.assertEquals(99, calculateDefaultWarmupWeight(10 * 60 * 1000 - 
6 * 1000));
+        Assert.assertEquals(100, calculateDefaultWarmupWeight(10 * 60 * 1000));
+        Assert.assertEquals(100, calculateDefaultWarmupWeight(20 * 60 * 1000));
+    }
+
+    /**
+     * handle default data
+     *
+     * @return
+     */
+    private static int calculateDefaultWarmupWeight(int uptime) {
+        return AbstractLoadBalance.calculateWarmupWeight(uptime, 
Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT);
+    }
+
+}
\ No newline at end of file
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LoadBalanceTest.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LoadBalanceTest.java
deleted file mode 100644
index 442b1087da..0000000000
--- 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/LoadBalanceTest.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.alibaba.dubbo.rpc.cluster.loadbalance;
-
-import com.alibaba.dubbo.common.Constants;
-import com.alibaba.dubbo.common.URL;
-import com.alibaba.dubbo.common.extension.ExtensionLoader;
-import com.alibaba.dubbo.rpc.Invocation;
-import com.alibaba.dubbo.rpc.Invoker;
-import com.alibaba.dubbo.rpc.RpcStatus;
-import com.alibaba.dubbo.rpc.cluster.LoadBalance;
-
-import junit.framework.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.atomic.AtomicLong;
-
-import static org.mockito.BDDMockito.given;
-import static org.mockito.Mockito.mock;
-
-/**
- * RoundRobinLoadBalanceTest
- *
- */
-@SuppressWarnings({"unchecked", "rawtypes"})
-public class LoadBalanceTest {
-    Invocation invocation;
-    List<Invoker<LoadBalanceTest>> invokers = new 
ArrayList<Invoker<LoadBalanceTest>>();
-    Invoker<LoadBalanceTest> invoker1;
-    Invoker<LoadBalanceTest> invoker2;
-    Invoker<LoadBalanceTest> invoker3;
-    Invoker<LoadBalanceTest> invoker4;
-    Invoker<LoadBalanceTest> invoker5;
-
-    /**
-     * @throws java.lang.Exception
-     */
-    @BeforeClass
-    public static void setUpBeforeClass() throws Exception {
-    }
-
-    /**
-     * @throws java.lang.Exception
-     */
-    @Before
-    public void setUp() throws Exception {
-
-        invocation = mock(Invocation.class);
-        given(invocation.getMethodName()).willReturn("method1");
-
-        invoker1 = mock(Invoker.class);
-        invoker2 = mock(Invoker.class);
-        invoker3 = mock(Invoker.class);
-        invoker4 = mock(Invoker.class);
-        invoker5 = mock(Invoker.class);
-
-        URL url1 = URL.valueOf("test://127.0.0.1:1/DemoService");
-        URL url2 = URL.valueOf("test://127.0.0.1:2/DemoService");
-        URL url3 = URL.valueOf("test://127.0.0.1:3/DemoService");
-        URL url4 = URL.valueOf("test://127.0.0.1:4/DemoService");
-        URL url5 = URL.valueOf("test://127.0.0.1:5/DemoService");
-
-        given(invoker1.isAvailable()).willReturn(true);
-        given(invoker1.getInterface()).willReturn(LoadBalanceTest.class);
-        given(invoker1.getUrl()).willReturn(url1);
-
-        given(invoker2.isAvailable()).willReturn(true);
-        given(invoker2.getInterface()).willReturn(LoadBalanceTest.class);
-        given(invoker2.getUrl()).willReturn(url2);
-
-        given(invoker3.isAvailable()).willReturn(true);
-        given(invoker3.getInterface()).willReturn(LoadBalanceTest.class);
-        given(invoker3.getUrl()).willReturn(url3);
-
-        given(invoker4.isAvailable()).willReturn(true);
-        given(invoker4.getInterface()).willReturn(LoadBalanceTest.class);
-        given(invoker4.getUrl()).willReturn(url4);
-
-        given(invoker5.isAvailable()).willReturn(true);
-        given(invoker5.getInterface()).willReturn(LoadBalanceTest.class);
-        given(invoker5.getUrl()).willReturn(url5);
-
-        invokers.add(invoker1);
-        invokers.add(invoker2);
-        invokers.add(invoker3);
-        invokers.add(invoker4);
-        invokers.add(invoker5);
-    }
-
-    @Test
-    public void testRoundRobinLoadBalance_select() {
-        int runs = 10000;
-        Map<Invoker, AtomicLong> counter = getInvokeCounter(runs, 
RoundRobinLoadBalance.NAME);
-        for (Invoker minvoker : counter.keySet()) {
-            Long count = counter.get(minvoker).get();
-            Assert.assertTrue("abs diff shoud < 1", Math.abs(count - runs / 
(0f + invokers.size())) < 1f);
-        }
-    }
-
-    @Test
-    public void testRandomLoadBalance_select() {
-        int runs = 1000;
-        Map<Invoker, AtomicLong> counter = getInvokeCounter(runs, 
RandomLoadBalance.NAME);
-        for (Invoker minvoker : counter.keySet()) {
-            Long count = counter.get(minvoker).get();
-            // System.out.println(count);
-            Assert.assertTrue("abs diff shoud < avg",
-                Math.abs(count - runs / (0f + invokers.size())) < runs / (0f + 
invokers.size()));
-        }
-
-        for (int i = 0; i < 5; i++) {
-            for (int j = 0; j <= i; j++) {
-                RpcStatus.beginCount(invokers.get(i).getUrl(), 
invocation.getMethodName());
-            }
-        }
-        counter = getInvokeCounter(runs, LeastActiveLoadBalance.NAME);
-        for (Invoker minvoker : counter.keySet()) {
-            Long count = counter.get(minvoker).get();
-        }
-        Assert.assertEquals(runs, counter.get(invoker1).intValue());
-        Assert.assertEquals(0, counter.get(invoker2).intValue());
-        Assert.assertEquals(0, counter.get(invoker3).intValue());
-        Assert.assertEquals(0, counter.get(invoker4).intValue());
-        Assert.assertEquals(0, counter.get(invoker5).intValue());
-    }
-
-    @Test
-    public void testLeastActiveLoadBalance_select() {
-        int runs = 10000;
-        Map<Invoker, AtomicLong> counter = getInvokeCounter(runs, 
LeastActiveLoadBalance.NAME);
-        for (Invoker minvoker : counter.keySet()) {
-            Long count = counter.get(minvoker).get();
-            //            System.out.println(count);
-            Assert.assertTrue("abs diff shoud < avg",
-                Math.abs(count - runs / (0f + invokers.size())) < runs / (0f + 
invokers.size()));
-        }
-    }
-
-    public Map<Invoker, AtomicLong> getInvokeCounter(int runs, String 
loadbalanceName) {
-        Map<Invoker, AtomicLong> counter = new ConcurrentHashMap<Invoker, 
AtomicLong>();
-        LoadBalance lb = 
ExtensionLoader.getExtensionLoader(LoadBalance.class).getExtension(loadbalanceName);
-        for (Invoker invoker : invokers) {
-            counter.put(invoker, new AtomicLong(0));
-        }
-        for (int i = 0; i < runs; i++) {
-            Invoker sinvoker = lb.select(invokers, invokers.get(0).getUrl(), 
invocation);
-            counter.get(sinvoker).incrementAndGet();
-        }
-        return counter;
-    }
-
-    @Test
-    public void testLoadBalanceWarmup() {
-        Assert.assertEquals(1,
-            AbstractLoadBalance.calculateWarmupWeight(0, 
Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT));
-        Assert.assertEquals(1,
-            AbstractLoadBalance.calculateWarmupWeight(13, 
Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT));
-        Assert.assertEquals(1,
-            AbstractLoadBalance.calculateWarmupWeight(6 * 1000, 
Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT));
-        Assert.assertEquals(2,
-            AbstractLoadBalance.calculateWarmupWeight(12 * 1000, 
Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT));
-        Assert.assertEquals(10,
-            AbstractLoadBalance.calculateWarmupWeight(60 * 1000, 
Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT));
-        Assert.assertEquals(50, AbstractLoadBalance
-            .calculateWarmupWeight(5 * 60 * 1000, Constants.DEFAULT_WARMUP, 
Constants.DEFAULT_WEIGHT));
-        Assert.assertEquals(50, AbstractLoadBalance
-            .calculateWarmupWeight(5 * 60 * 1000 + 23, 
Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT));
-        Assert.assertEquals(50, AbstractLoadBalance
-            .calculateWarmupWeight(5 * 60 * 1000 + 5999, 
Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT));
-        Assert.assertEquals(51, AbstractLoadBalance
-            .calculateWarmupWeight(5 * 60 * 1000 + 6000, 
Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT));
-        Assert.assertEquals(90, AbstractLoadBalance
-            .calculateWarmupWeight(9 * 60 * 1000, Constants.DEFAULT_WARMUP, 
Constants.DEFAULT_WEIGHT));
-        Assert.assertEquals(98, AbstractLoadBalance
-            .calculateWarmupWeight(10 * 60 * 1000 - 12 * 1000, 
Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT));
-        Assert.assertEquals(99, AbstractLoadBalance
-            .calculateWarmupWeight(10 * 60 * 1000 - 6 * 1000, 
Constants.DEFAULT_WARMUP, Constants.DEFAULT_WEIGHT));
-        Assert.assertEquals(100, AbstractLoadBalance
-            .calculateWarmupWeight(10 * 60 * 1000, Constants.DEFAULT_WARMUP, 
Constants.DEFAULT_WEIGHT));
-        Assert.assertEquals(100, AbstractLoadBalance
-            .calculateWarmupWeight(20 * 60 * 1000, Constants.DEFAULT_WARMUP, 
Constants.DEFAULT_WEIGHT));
-    }
-
-}
\ No newline at end of file
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RandomLoadBalanceTest.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RandomLoadBalanceTest.java
new file mode 100644
index 0000000000..a49dfda97f
--- /dev/null
+++ 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RandomLoadBalanceTest.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License")); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.alibaba.dubbo.rpc.cluster.loadbalance;
+
+import com.alibaba.dubbo.rpc.Invoker;
+import com.alibaba.dubbo.rpc.RpcStatus;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicLong;
+
+/**
+ * RandomLoadBalance Test
+ */
+public class RandomLoadBalanceTest extends LoadBalanceBaseTest {
+    @Test
+    public void testRandomLoadBalanceSelect() {
+        int runs = 1000;
+        Map<Invoker, AtomicLong> counter = getInvokeCounter(runs, 
RandomLoadBalance.NAME);
+        for (Invoker minvoker : counter.keySet()) {
+            Long count = counter.get(minvoker).get();
+            Assert.assertTrue("abs diff should < avg", Math.abs(count - runs / 
(0f + invokers.size())) < runs / (0f + invokers.size()));
+        }
+
+        for (int i = 0; i < 5; i++) {
+            for (int j = 0; j <= i; j++) {
+                RpcStatus.beginCount(invokers.get(i).getUrl(), 
invocation.getMethodName());
+            }
+        }
+        counter = getInvokeCounter(runs, LeastActiveLoadBalance.NAME);
+        for (Invoker minvoker : counter.keySet()) {
+            Long count = counter.get(minvoker).get();
+        }
+        Assert.assertEquals(runs, counter.get(invoker1).intValue());
+        Assert.assertEquals(0, counter.get(invoker2).intValue());
+        Assert.assertEquals(0, counter.get(invoker3).intValue());
+        Assert.assertEquals(0, counter.get(invoker4).intValue());
+        Assert.assertEquals(0, counter.get(invoker5).intValue());
+    }
+
+}
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RoundRobinLoadBalanceTest.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RoundRobinLoadBalanceTest.java
new file mode 100644
index 0000000000..ffc4e6c000
--- /dev/null
+++ 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/loadbalance/RoundRobinLoadBalanceTest.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.alibaba.dubbo.rpc.cluster.loadbalance;
+
+import com.alibaba.dubbo.rpc.Invoker;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicLong;
+
+public class RoundRobinLoadBalanceTest extends LoadBalanceBaseTest {
+    @Test
+    public void testRoundRobinLoadBalanceSelect() {
+        int runs = 10000;
+        Map<Invoker, AtomicLong> counter = getInvokeCounter(runs, 
RoundRobinLoadBalance.NAME);
+        for (Invoker minvoker : counter.keySet()) {
+            Long count = counter.get(minvoker).get();
+            Assert.assertTrue("abs diff should < 1", Math.abs(count - runs / 
(0f + invokers.size())) < 1f);
+        }
+    }
+}
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/merger/ResultMergerTest.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/merger/ResultMergerTest.java
index 481a97fe6f..cede590cc0 100644
--- 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/merger/ResultMergerTest.java
+++ 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/merger/ResultMergerTest.java
@@ -21,35 +21,224 @@
 
 import java.lang.reflect.Array;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 public class ResultMergerTest {
+    /**
+     * ArrayMerger test
+     *
+     * @throws Exception
+     */
+    @Test
+    public void testArrayMerger() throws Exception {
+        String[] stringArray1 = {"1", "2", "3"};
+        String[] stringArray2 = {"4", "5", "6"};
+        String[] stringArray3 = {};
+
+        Object result = ArrayMerger.INSTANCE.merge(stringArray1, stringArray2, 
stringArray3);
+        Assert.assertTrue(result.getClass().isArray());
+        Assert.assertEquals(6, Array.getLength(result));
+        Assert.assertTrue(String.class.isInstance(Array.get(result, 0)));
+        for (int i = 0; i < 6; i++) {
+            Assert.assertEquals(String.valueOf(i + 1), Array.get(result, i));
+        }
+
+        int[] intArray1 = {1, 2, 3};
+        int[] intArray2 = {4, 5, 6};
+        int[] intArray3 = {7};
+        result = MergerFactory.getMerger(int[].class).merge(intArray1, 
intArray2, intArray3);
+        Assert.assertTrue(result.getClass().isArray());
+        Assert.assertEquals(7, Array.getLength(result));
+        Assert.assertTrue(int.class == result.getClass().getComponentType());
+        for (int i = 0; i < 7; i++) {
+            Assert.assertEquals(i + 1, Array.get(result, i));
+        }
+
+    }
+
+    /**
+     * BooleanArrayMerger test
+     *
+     * @throws Exception
+     */
+    @Test
+    public void testBooleanArrayMerger() throws Exception {
+        boolean[] arrayOne = {true, false};
+        boolean[] arrayTwo = {false};
+        boolean[] result = 
MergerFactory.getMerger(boolean[].class).merge(arrayOne, arrayTwo);
+        Assert.assertEquals(3, result.length);
+        boolean[] mergedResult = {true, false, false};
+        for (int i = 0; i < mergedResult.length; i++) {
+            Assert.assertEquals(mergedResult[i], result[i]);
+        }
+    }
+
+    /**
+     * ByteArrayMerger test
+     *
+     * @throws Exception
+     */
+    @Test
+    public void testByteArrayMerger() throws Exception {
+        byte[] arrayOne = {1, 2};
+        byte[] arrayTwo = {1, 32};
+        byte[] result = MergerFactory.getMerger(byte[].class).merge(arrayOne, 
arrayTwo);
+        Assert.assertEquals(4, result.length);
+        byte[] mergedResult = {1, 2, 1, 32};
+        for (int i = 0; i < mergedResult.length; i++) {
+            Assert.assertEquals(mergedResult[i], result[i]);
+        }
+    }
+
+    /**
+     * CharArrayMerger test
+     *
+     * @throws Exception
+     */
+    @Test
+    public void testCharArrayMerger() throws Exception {
+        char[] arrayOne = "hello".toCharArray();
+        char[] arrayTwo = "world".toCharArray();
+        char[] result = MergerFactory.getMerger(char[].class).merge(arrayOne, 
arrayTwo);
+        Assert.assertEquals(10, result.length);
+        char[] mergedResult = "helloworld".toCharArray();
+        for (int i = 0; i < mergedResult.length; i++) {
+            Assert.assertEquals(mergedResult[i], result[i]);
+        }
+    }
+
+    /**
+     * DoubleArrayMerger test
+     *
+     * @throws Exception
+     */
+    @Test
+    public void testDoubleArrayMerger() throws Exception {
+        double[] arrayOne = {1.2d, 3.5d};
+        double[] arrayTwo = {2d, 34d};
+        double[] result = 
MergerFactory.getMerger(double[].class).merge(arrayOne, arrayTwo);
+        Assert.assertEquals(4, result.length);
+        double[] mergedResult = {1.2d, 3.5d, 2d, 34d};
+        for (int i = 0; i < mergedResult.length; i++) {
+            Assert.assertTrue(mergedResult[i] == result[i]);
+        }
+    }
+
+    /**
+     * FloatArrayMerger test
+     *
+     * @throws Exception
+     */
+    @Test
+    public void testFloatArrayMerger() throws Exception {
+        float[] arrayOne = {1.2f, 3.5f};
+        float[] arrayTwo = {2f, 34f};
+        float[] result = 
MergerFactory.getMerger(float[].class).merge(arrayOne, arrayTwo);
+        Assert.assertEquals(4, result.length);
+        double[] mergedResult = {1.2f, 3.5f, 2f, 34f};
+        for (int i = 0; i < mergedResult.length; i++) {
+            Assert.assertTrue(mergedResult[i] == result[i]);
+        }
+    }
+
+    /**
+     * IntArrayMerger test
+     *
+     * @throws Exception
+     */
+    @Test
+    public void testIntArrayMerger() throws Exception {
+        int[] arrayOne = {1, 2};
+        int[] arrayTwo = {2, 34};
+        int[] result = MergerFactory.getMerger(int[].class).merge(arrayOne, 
arrayTwo);
+        Assert.assertEquals(4, result.length);
+        double[] mergedResult = {1, 2, 2, 34};
+        for (int i = 0; i < mergedResult.length; i++) {
+            Assert.assertTrue(mergedResult[i] == result[i]);
+        }
+    }
 
+    /**
+     * ListMerger test
+     *
+     * @throws Exception
+     */
     @Test
     public void testListMerger() throws Exception {
-        List<Object> list1 = new ArrayList<Object>();
-        list1.add(null);
-        list1.add("1");
-        list1.add("2");
-        List<Object> list2 = new ArrayList<Object>();
-        list2.add("3");
-        list2.add("4");
+        List<Object> list1 = new ArrayList<Object>(){{
+            add(null);
+            add("1");
+            add("2"); 
+        }};
+        List<Object> list2 = new ArrayList<Object>(){{
+            add("3");
+            add("4");
+        }};
 
         List result = MergerFactory.getMerger(List.class).merge(list1, list2);
         Assert.assertEquals(5, result.size());
-        Assert.assertEquals(new ArrayList<String>() {
-            {
-                add(null);
-                add("1");
-                add("2");
-                add("3");
-                add("4");
-            }
-        }, result);
+        ArrayList<String> expected = new ArrayList<String>() {{
+            add(null);
+            add("1");
+            add("2");
+            add("3");
+            add("4");
+        }};
+        Assert.assertEquals(expected, result);
+    }
+
+    /**
+     * LongArrayMerger test
+     *
+     * @throws Exception
+     */
+    @Test
+    public void testMapArrayMerger() throws Exception {
+        Map<Object, Object> mapOne = new HashMap() {{
+            put("11", 222);
+            put("223", 11);
+        }};
+        Map<Object, Object> mapTwo = new HashMap() {{
+            put("3333", 3232);
+            put("444", 2323);
+        }};
+        Map<Object, Object> result = 
MergerFactory.getMerger(Map.class).merge(mapOne, mapTwo);
+        Assert.assertEquals(4, result.size());
+        Map<Object, Object> mergedResult = new HashMap() {{
+            put("11", 222);
+            put("223", 11);
+            put("3333", 3232);
+            put("444", 2323);
+        }};
+        Assert.assertEquals(mergedResult, result);
     }
 
+    /**
+     * LongArrayMerger test
+     *
+     * @throws Exception
+     */
+    @Test
+    public void testLongArrayMerger() throws Exception {
+        long[] arrayOne = {1l, 2l};
+        long[] arrayTwo = {2l, 34l};
+        long[] result = MergerFactory.getMerger(long[].class).merge(arrayOne, 
arrayTwo);
+        Assert.assertEquals(4, result.length);
+        double[] mergedResult = {1l, 2l, 2l, 34l};
+        for (int i = 0; i < mergedResult.length; i++) {
+            Assert.assertTrue(mergedResult[i] == result[i]);
+        }
+    }
+
+    /**
+     * SetMerger test
+     *
+     * @throws Exception
+     */
     @Test
     public void testSetMerger() throws Exception {
         Set<Object> set1 = new HashSet<Object>();
@@ -73,30 +262,20 @@ public void testSetMerger() throws Exception {
         }, result);
     }
 
+    /**
+     * ShortArrayMerger test
+     *
+     * @throws Exception
+     */
     @Test
-    public void testArrayMerger() throws Exception {
-        String[] stringArray1 = {"1", "2", "3"};
-        String[] stringArray2 = {"4", "5", "6"};
-        String[] stringArray3 = {};
-
-        Object result = ArrayMerger.INSTANCE.merge(stringArray1, stringArray2, 
stringArray3);
-        Assert.assertTrue(result.getClass().isArray());
-        Assert.assertEquals(6, Array.getLength(result));
-        Assert.assertTrue(String.class.isInstance(Array.get(result, 0)));
-        for (int i = 0; i < 6; i++) {
-            Assert.assertEquals(String.valueOf(i + 1), Array.get(result, i));
-        }
-
-        int[] intArray1 = {1, 2, 3};
-        int[] intArray2 = {4, 5, 6};
-        int[] intArray3 = {7};
-        result = MergerFactory.getMerger(int[].class).merge(intArray1, 
intArray2, intArray3);
-        Assert.assertTrue(result.getClass().isArray());
-        Assert.assertEquals(7, Array.getLength(result));
-        Assert.assertTrue(int.class == result.getClass().getComponentType());
-        for (int i = 0; i < 7; i++) {
-            Assert.assertEquals(i + 1, Array.get(result, i));
+    public void testShortArrayMerger() throws Exception {
+        short[] arrayOne = {1, 2};
+        short[] arrayTwo = {2, 34};
+        short[] result = 
MergerFactory.getMerger(short[].class).merge(arrayOne, arrayTwo);
+        Assert.assertEquals(4, result.length);
+        double[] mergedResult = {1, 2, 2, 34};
+        for (int i = 0; i < mergedResult.length; i++) {
+            Assert.assertTrue(mergedResult[i] == result[i]);
         }
-
     }
 }
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/condition/ConditionRouterTest.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/condition/ConditionRouterTest.java
index 57d9de6b0b..afbbc9ba1e 100644
--- 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/condition/ConditionRouterTest.java
+++ 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/condition/ConditionRouterTest.java
@@ -26,7 +26,7 @@
 import com.alibaba.dubbo.rpc.cluster.Router;
 import com.alibaba.dubbo.rpc.cluster.router.MockInvoker;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -49,49 +49,37 @@ public void setUp() throws Exception {
     private URL getRouteUrl(String rule) {
         return SCRIPT_URL.addParameterAndEncoded(Constants.RULE_KEY, rule);
     }
+
     @Test
     public void testRoute_matchWhen() {
         Invocation invocation = new RpcInvocation();
 
         Router router = new ConditionRouterFactory().getRouter(getRouteUrl(" 
=> host = 1.2.3.4"));
-        boolean matchWhen = ((ConditionRouter) 
router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"),
-                invocation);
+        boolean matchWhen = ((ConditionRouter) 
router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), 
invocation);
         Assert.assertEquals(true, matchWhen);
 
-        router = new ConditionRouterFactory()
-                .getRouter(getRouteUrl("host = 2.2.2.2,1.1.1.1,3.3.3.3 => host 
= 1.2.3.4"));
-        matchWhen = ((ConditionRouter) 
router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"),
-                invocation);
+        router = new ConditionRouterFactory().getRouter(getRouteUrl("host = 
2.2.2.2,1.1.1.1,3.3.3.3 => host = 1.2.3.4"));
+        matchWhen = ((ConditionRouter) 
router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), 
invocation);
         Assert.assertEquals(true, matchWhen);
 
-        router = new ConditionRouterFactory()
-                .getRouter(getRouteUrl("host = 2.2.2.2,1.1.1.1,3.3.3.3 & host 
!=1.1.1.1 => host = 1.2.3.4"));
-        matchWhen = ((ConditionRouter) 
router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"),
-                invocation);
+        router = new ConditionRouterFactory().getRouter(getRouteUrl("host = 
2.2.2.2,1.1.1.1,3.3.3.3 & host !=1.1.1.1 => host = 1.2.3.4"));
+        matchWhen = ((ConditionRouter) 
router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), 
invocation);
         Assert.assertEquals(false, matchWhen);
 
-        router = new ConditionRouterFactory()
-                .getRouter(getRouteUrl("host !=4.4.4.4 & host = 
2.2.2.2,1.1.1.1,3.3.3.3 => host = 1.2.3.4"));
-        matchWhen = ((ConditionRouter) 
router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"),
-                invocation);
+        router = new ConditionRouterFactory().getRouter(getRouteUrl("host 
!=4.4.4.4 & host = 2.2.2.2,1.1.1.1,3.3.3.3 => host = 1.2.3.4"));
+        matchWhen = ((ConditionRouter) 
router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), 
invocation);
         Assert.assertEquals(true, matchWhen);
 
-        router = new ConditionRouterFactory()
-                .getRouter(getRouteUrl("host !=4.4.4.* & host = 
2.2.2.2,1.1.1.1,3.3.3.3 => host = 1.2.3.4"));
-        matchWhen = ((ConditionRouter) 
router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"),
-                invocation);
+        router = new ConditionRouterFactory().getRouter(getRouteUrl("host 
!=4.4.4.* & host = 2.2.2.2,1.1.1.1,3.3.3.3 => host = 1.2.3.4"));
+        matchWhen = ((ConditionRouter) 
router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), 
invocation);
         Assert.assertEquals(true, matchWhen);
 
-        router = new ConditionRouterFactory()
-                .getRouter(getRouteUrl("host = 2.2.2.2,1.1.1.*,3.3.3.3 & host 
!= 1.1.1.1 => host = 1.2.3.4"));
-        matchWhen = ((ConditionRouter) 
router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"),
-                invocation);
+        router = new ConditionRouterFactory().getRouter(getRouteUrl("host = 
2.2.2.2,1.1.1.*,3.3.3.3 & host != 1.1.1.1 => host = 1.2.3.4"));
+        matchWhen = ((ConditionRouter) 
router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), 
invocation);
         Assert.assertEquals(false, matchWhen);
 
-        router = new ConditionRouterFactory()
-                .getRouter(getRouteUrl("host = 2.2.2.2,1.1.1.*,3.3.3.3 & host 
!= 1.1.1.2 => host = 1.2.3.4"));
-        matchWhen = ((ConditionRouter) 
router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"),
-                invocation);
+        router = new ConditionRouterFactory().getRouter(getRouteUrl("host = 
2.2.2.2,1.1.1.*,3.3.3.3 & host != 1.1.1.2 => host = 1.2.3.4"));
+        matchWhen = ((ConditionRouter) 
router).matchWhen(URL.valueOf("consumer://1.1.1.1/com.foo.BarService"), 
invocation);
         Assert.assertEquals(true, matchWhen);
     }
 
@@ -127,24 +115,18 @@ public void testRoute_matchFilter() {
                 "host = " + NetUtils.getLocalHost() + " => " + " serialization 
= fastjson").addParameter(
                 Constants.FORCE_KEY, String.valueOf(true)));
 
-        List<Invoker<String>> fileredInvokers1 = router1.route(invokers,
-                URL.valueOf("consumer://" + NetUtils.getLocalHost() + 
"/com.foo.BarService"), new RpcInvocation());
-        List<Invoker<String>> fileredInvokers2 = router2.route(invokers,
-                URL.valueOf("consumer://" + NetUtils.getLocalHost() + 
"/com.foo.BarService"), new RpcInvocation());
-        List<Invoker<String>> fileredInvokers3 = router3.route(invokers,
-                URL.valueOf("consumer://" + NetUtils.getLocalHost() + 
"/com.foo.BarService"), new RpcInvocation());
-        List<Invoker<String>> fileredInvokers4 = router4.route(invokers,
-                URL.valueOf("consumer://" + NetUtils.getLocalHost() + 
"/com.foo.BarService"), new RpcInvocation());
-        List<Invoker<String>> fileredInvokers5 = router5.route(invokers,
-                URL.valueOf("consumer://" + NetUtils.getLocalHost() + 
"/com.foo.BarService"), new RpcInvocation());
-        List<Invoker<String>> fileredInvokers6 = router6.route(invokers,
-                URL.valueOf("consumer://" + NetUtils.getLocalHost() + 
"/com.foo.BarService"), new RpcInvocation());
-        Assert.assertEquals(1, fileredInvokers1.size());
-        Assert.assertEquals(0, fileredInvokers2.size());
-        Assert.assertEquals(0, fileredInvokers3.size());
-        Assert.assertEquals(1, fileredInvokers4.size());
-        Assert.assertEquals(2, fileredInvokers5.size());
-        Assert.assertEquals(1, fileredInvokers6.size());
+        List<Invoker<String>> filteredInvokers1 = router1.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
+        List<Invoker<String>> filteredInvokers2 = router2.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
+        List<Invoker<String>> filteredInvokers3 = router3.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
+        List<Invoker<String>> filteredInvokers4 = router4.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
+        List<Invoker<String>> filteredInvokers5 = router5.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
+        List<Invoker<String>> filteredInvokers6 = router6.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
+        Assert.assertEquals(1, filteredInvokers1.size());
+        Assert.assertEquals(0, filteredInvokers2.size());
+        Assert.assertEquals(0, filteredInvokers3.size());
+        Assert.assertEquals(1, filteredInvokers4.size());
+        Assert.assertEquals(2, filteredInvokers5.size());
+        Assert.assertEquals(1, filteredInvokers6.size());
     }
 
     @Test
@@ -185,16 +167,16 @@ public void testRoute_methodRoute() {
         Router router4 = new ConditionRouterFactory().getRouter(getRouteUrl(
                 "host = " + NetUtils.getLocalHost() + " & methods = getFoo => 
" + " host = 10.20.3.3").addParameter(
                 Constants.FORCE_KEY, String.valueOf(true)));
-        List<Invoker<String>> fileredInvokers1 = router4.route(invokers,
+        List<Invoker<String>> filteredInvokers1 = router4.route(invokers,
                 URL.valueOf("consumer://" + NetUtils.getLocalHost() + 
"/com.foo.BarService"), invocation);
-        Assert.assertEquals(1, fileredInvokers1.size());
+        Assert.assertEquals(1, filteredInvokers1.size());
 
         Router router5 = new ConditionRouterFactory().getRouter(getRouteUrl(
                 "host = " + NetUtils.getLocalHost() + " & methods = 
unvalidmethod => " + " host = 10.20.3.3")
                 .addParameter(Constants.FORCE_KEY, String.valueOf(true)));
-        List<Invoker<String>> fileredInvokers2 = router5.route(invokers,
+        List<Invoker<String>> filteredInvokers2 = router5.route(invokers,
                 URL.valueOf("consumer://" + NetUtils.getLocalHost() + 
"/com.foo.BarService"), invocation);
-        Assert.assertEquals(3, fileredInvokers2.size());
+        Assert.assertEquals(3, filteredInvokers2.size());
         // Request a non-exists method
     }
 
@@ -205,8 +187,8 @@ public void testRoute_ReturnFalse() {
         invokers.add(new MockInvoker<String>());
         invokers.add(new MockInvoker<String>());
         invokers.add(new MockInvoker<String>());
-        List<Invoker<String>> fileredInvokers = router.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
-        Assert.assertEquals(0, fileredInvokers.size());
+        List<Invoker<String>> filteredInvokers = router.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
+        Assert.assertEquals(0, filteredInvokers.size());
     }
 
     @Test
@@ -216,8 +198,8 @@ public void testRoute_ReturnEmpty() {
         invokers.add(new MockInvoker<String>());
         invokers.add(new MockInvoker<String>());
         invokers.add(new MockInvoker<String>());
-        List<Invoker<String>> fileredInvokers = router.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
-        Assert.assertEquals(0, fileredInvokers.size());
+        List<Invoker<String>> filteredInvokers = router.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
+        Assert.assertEquals(0, filteredInvokers.size());
     }
 
     @Test
@@ -227,8 +209,8 @@ public void testRoute_ReturnAll() {
         invokers.add(new MockInvoker<String>());
         invokers.add(new MockInvoker<String>());
         invokers.add(new MockInvoker<String>());
-        List<Invoker<String>> fileredInvokers = router.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
-        Assert.assertEquals(invokers, fileredInvokers);
+        List<Invoker<String>> filteredInvokers = router.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
+        Assert.assertEquals(invokers, filteredInvokers);
     }
 
     @Test
@@ -241,10 +223,10 @@ public void testRoute_HostFilter() {
         invokers.add(invoker1);
         invokers.add(invoker2);
         invokers.add(invoker3);
-        List<Invoker<String>> fileredInvokers = router.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
-        Assert.assertEquals(2, fileredInvokers.size());
-        Assert.assertEquals(invoker2, fileredInvokers.get(0));
-        Assert.assertEquals(invoker3, fileredInvokers.get(1));
+        List<Invoker<String>> filteredInvokers = router.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
+        Assert.assertEquals(2, filteredInvokers.size());
+        Assert.assertEquals(invoker2, filteredInvokers.get(0));
+        Assert.assertEquals(invoker3, filteredInvokers.get(1));
     }
 
     @Test
@@ -257,10 +239,10 @@ public void testRoute_Empty_HostFilter() {
         invokers.add(invoker1);
         invokers.add(invoker2);
         invokers.add(invoker3);
-        List<Invoker<String>> fileredInvokers = router.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
-        Assert.assertEquals(2, fileredInvokers.size());
-        Assert.assertEquals(invoker2, fileredInvokers.get(0));
-        Assert.assertEquals(invoker3, fileredInvokers.get(1));
+        List<Invoker<String>> filteredInvokers = router.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
+        Assert.assertEquals(2, filteredInvokers.size());
+        Assert.assertEquals(invoker2, filteredInvokers.get(0));
+        Assert.assertEquals(invoker3, filteredInvokers.get(1));
     }
 
     @Test
@@ -273,10 +255,10 @@ public void testRoute_False_HostFilter() {
         invokers.add(invoker1);
         invokers.add(invoker2);
         invokers.add(invoker3);
-        List<Invoker<String>> fileredInvokers = router.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
-        Assert.assertEquals(2, fileredInvokers.size());
-        Assert.assertEquals(invoker2, fileredInvokers.get(0));
-        Assert.assertEquals(invoker3, fileredInvokers.get(1));
+        List<Invoker<String>> filteredInvokers = router.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
+        Assert.assertEquals(2, filteredInvokers.size());
+        Assert.assertEquals(invoker2, filteredInvokers.get(0));
+        Assert.assertEquals(invoker3, filteredInvokers.get(1));
     }
 
     @Test
@@ -289,10 +271,10 @@ public void testRoute_Placeholder() {
         invokers.add(invoker1);
         invokers.add(invoker2);
         invokers.add(invoker3);
-        List<Invoker<String>> fileredInvokers = router.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
-        Assert.assertEquals(2, fileredInvokers.size());
-        Assert.assertEquals(invoker2, fileredInvokers.get(0));
-        Assert.assertEquals(invoker3, fileredInvokers.get(1));
+        List<Invoker<String>> filteredInvokers = router.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
+        Assert.assertEquals(2, filteredInvokers.size());
+        Assert.assertEquals(invoker2, filteredInvokers.get(0));
+        Assert.assertEquals(invoker3, filteredInvokers.get(1));
     }
 
     @Test
@@ -305,8 +287,8 @@ public void testRoute_NoForce() {
         invokers.add(invoker1);
         invokers.add(invoker2);
         invokers.add(invoker3);
-        List<Invoker<String>> fileredInvokers = router.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
-        Assert.assertEquals(invokers, fileredInvokers);
+        List<Invoker<String>> filteredInvokers = router.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
+        Assert.assertEquals(invokers, filteredInvokers);
     }
 
     @Test
@@ -319,8 +301,8 @@ public void testRoute_Force() {
         invokers.add(invoker1);
         invokers.add(invoker2);
         invokers.add(invoker3);
-        List<Invoker<String>> fileredInvokers = router.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
-        Assert.assertEquals(0, fileredInvokers.size());
+        List<Invoker<String>> filteredInvokers = router.route(invokers, 
URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), 
new RpcInvocation());
+        Assert.assertEquals(0, filteredInvokers.size());
     }
 
 }
\ No newline at end of file
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/file/FileRouterEngineTest.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/file/FileRouterEngineTest.java
index 2056017bbd..a95fc5cec4 100644
--- 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/file/FileRouterEngineTest.java
+++ 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/file/FileRouterEngineTest.java
@@ -31,7 +31,7 @@
 import com.alibaba.dubbo.rpc.cluster.directory.StaticDirectory;
 import com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/script/ScriptRouterTest.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/script/ScriptRouterTest.java
index 31a8679931..a073ce2210 100644
--- 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/script/ScriptRouterTest.java
+++ 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/router/script/ScriptRouterTest.java
@@ -24,11 +24,12 @@
 import com.alibaba.dubbo.rpc.cluster.Router;
 import com.alibaba.dubbo.rpc.cluster.router.MockInvoker;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
+import javax.script.ScriptException;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -49,18 +50,18 @@ private URL getRouteUrl(String rule) {
     }
 
     @Test
-    public void testRoute_ReturnAll() {
+    public void testRouteReturnAll() {
         Router router = new 
ScriptRouterFactory().getRouter(getRouteUrl("function route(op1,op2){return 
op1} route(invokers)"));
         List<Invoker<String>> invokers = new ArrayList<Invoker<String>>();
         invokers.add(new MockInvoker<String>());
         invokers.add(new MockInvoker<String>());
         invokers.add(new MockInvoker<String>());
-        List<Invoker<String>> fileredInvokers = router.route(invokers, 
invokers.get(0).getUrl(), new RpcInvocation());
-        Assert.assertEquals(invokers, fileredInvokers);
+        List<Invoker<String>> filteredInvokers = router.route(invokers, 
invokers.get(0).getUrl(), new RpcInvocation());
+        Assert.assertEquals(invokers, filteredInvokers);
     }
 
     @Test
-    public void testRoute_PickInvokers() {
+    public void testRoutePickInvokers() {
         String rule = "var result = new java.util.ArrayList(invokers.size());" 
+
                 "for (i=0;i<invokers.size(); i++){ " +
                 "if (invokers.get(i).isAvailable()) {" +
@@ -78,10 +79,11 @@ public void testRoute_PickInvokers() {
         invokers.add(invoker1);
         invokers.add(invoker2);
         invokers.add(invoker3);
-        List<Invoker<String>> fileredInvokers = router.route(invokers, 
invokers.get(0).getUrl(), new RpcInvocation());
-        Assert.assertEquals(2, fileredInvokers.size());
-        Assert.assertEquals(invoker2, fileredInvokers.get(0));
-        Assert.assertEquals(invoker3, fileredInvokers.get(1));
+        List<Invoker<String>> filteredInvokers = router.route(invokers, 
invokers.get(0).getUrl(), new RpcInvocation());
+        Assert.assertEquals(2, filteredInvokers.size());
+        Assert.assertEquals(invoker2, filteredInvokers.get(0));
+        Assert.assertEquals(invoker3, filteredInvokers.get(1));
     }
+
     //TODO Add tests for abnormal scene
 }
\ No newline at end of file
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/AbstractClusterInvokerTest.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/AbstractClusterInvokerTest.java
index 611683ce00..495d6feaf4 100644
--- 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/AbstractClusterInvokerTest.java
+++ 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/AbstractClusterInvokerTest.java
@@ -33,7 +33,7 @@
 import com.alibaba.dubbo.rpc.cluster.loadbalance.RandomLoadBalance;
 import com.alibaba.dubbo.rpc.cluster.loadbalance.RoundRobinLoadBalance;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailSafeClusterInvokerTest.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailSafeClusterInvokerTest.java
index 714056bfea..883db13627 100644
--- 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailSafeClusterInvokerTest.java
+++ 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailSafeClusterInvokerTest.java
@@ -26,7 +26,7 @@
 import com.alibaba.dubbo.rpc.cluster.Directory;
 import com.alibaba.dubbo.rpc.cluster.filter.DemoService;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailbackClusterInvokerTest.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailbackClusterInvokerTest.java
index d4a0d674a0..d70d1da3ff 100644
--- 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailbackClusterInvokerTest.java
+++ 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailbackClusterInvokerTest.java
@@ -25,7 +25,7 @@
 import com.alibaba.dubbo.rpc.RpcResult;
 import com.alibaba.dubbo.rpc.cluster.Directory;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailfastClusterInvokerTest.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailfastClusterInvokerTest.java
index 511b15cbe8..cbc495ce83 100644
--- 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailfastClusterInvokerTest.java
+++ 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/FailfastClusterInvokerTest.java
@@ -25,7 +25,7 @@
 import com.alibaba.dubbo.rpc.RpcResult;
 import com.alibaba.dubbo.rpc.cluster.Directory;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/ForkingClusterInvokerTest.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/ForkingClusterInvokerTest.java
index 5a6886c0f4..d929183de6 100644
--- 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/ForkingClusterInvokerTest.java
+++ 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/ForkingClusterInvokerTest.java
@@ -24,7 +24,7 @@
 import com.alibaba.dubbo.rpc.RpcResult;
 import com.alibaba.dubbo.rpc.cluster.Directory;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 
diff --git 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/wrapper/MockClusterInvokerTest.java
 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/wrapper/MockClusterInvokerTest.java
index a267b74141..7ef2cfeaad 100644
--- 
a/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/wrapper/MockClusterInvokerTest.java
+++ 
b/dubbo-cluster/src/test/java/com/alibaba/dubbo/rpc/cluster/support/wrapper/MockClusterInvokerTest.java
@@ -32,7 +32,7 @@
 import com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker;
 import com.alibaba.dubbo.rpc.support.MockProtocol;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 
diff --git 
a/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ExtensionLoaderTest.java
 
b/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ExtensionLoaderTest.java
index 3f7900c38b..a864907478 100644
--- 
a/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ExtensionLoaderTest.java
+++ 
b/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ExtensionLoaderTest.java
@@ -47,7 +47,7 @@
 import com.alibaba.dubbo.common.extensionloader.ext9_empty.Ext9Empty;
 import com.alibaba.dubbo.common.extensionloader.ext9_empty.impl.Ext9EmptyImpl;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Test;
 
 import java.util.HashSet;
diff --git 
a/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ExtensionLoader_Adaptive_Test.java
 
b/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ExtensionLoader_Adaptive_Test.java
index 486e976c53..b857566896 100644
--- 
a/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ExtensionLoader_Adaptive_Test.java
+++ 
b/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ExtensionLoader_Adaptive_Test.java
@@ -30,7 +30,7 @@
 import com.alibaba.dubbo.common.extensionloader.ext6_inject.impl.Ext6Impl2;
 import com.alibaba.dubbo.common.utils.LogUtil;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Test;
 
 import java.util.HashMap;
diff --git 
a/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ext6_inject/impl/Ext6Impl1.java
 
b/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ext6_inject/impl/Ext6Impl1.java
index 2e7c5250d4..886cc18340 100644
--- 
a/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ext6_inject/impl/Ext6Impl1.java
+++ 
b/dubbo-common/src/test/java/com/alibaba/dubbo/common/extensionloader/ext6_inject/impl/Ext6Impl1.java
@@ -21,7 +21,7 @@
 import com.alibaba.dubbo.common.extensionloader.ext6_inject.Dao;
 import com.alibaba.dubbo.common.extensionloader.ext6_inject.Ext6;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 
 public class Ext6Impl1 implements Ext6 {
     public Dao obj;
diff --git 
a/dubbo-common/src/test/java/com/alibaba/dubbo/common/json/JSONTest.java 
b/dubbo-common/src/test/java/com/alibaba/dubbo/common/json/JSONTest.java
index cf631eebb6..52aad493fc 100644
--- a/dubbo-common/src/test/java/com/alibaba/dubbo/common/json/JSONTest.java
+++ b/dubbo-common/src/test/java/com/alibaba/dubbo/common/json/JSONTest.java
@@ -16,7 +16,7 @@
  */
 package com.alibaba.dubbo.common.json;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Test;
 
 import java.io.StringReader;
diff --git 
a/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/ReferenceConfigTest.java
 
b/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/ReferenceConfigTest.java
index 888dc017cc..59c78e4f5d 100644
--- 
a/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/ReferenceConfigTest.java
+++ 
b/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/ReferenceConfigTest.java
@@ -20,7 +20,7 @@
 import com.alibaba.dubbo.config.api.DemoService;
 import com.alibaba.dubbo.config.provider.impl.DemoServiceImpl;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Test;
 
 public class ReferenceConfigTest {
diff --git 
a/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/url/UrlTestBase.java
 
b/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/url/UrlTestBase.java
index d9bee91f79..8c6511134b 100644
--- 
a/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/url/UrlTestBase.java
+++ 
b/dubbo-config/dubbo-config-api/src/test/java/com/alibaba/dubbo/config/url/UrlTestBase.java
@@ -185,7 +185,7 @@ protected String getProviderParamString() {
      */
     protected void assertUrlStringWithLocalTable(String paramStringFromDb,
                                                  Object[][] dataTable, String 
configName, int column) {
-        final String FAILLOG_HEADER = "The following config items are not 
found in URL: ";
+        final String FAILLOG_HEADER = "The following config items are not 
found in URLONE: ";
 
         log.warn("Verifying service url for " + configName + "... ");
         log.warn("Consumer url string: " + paramStringFromDb);
diff --git 
a/dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/ConfigTest.java
 
b/dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/ConfigTest.java
index 86c37be085..80643f363c 100644
--- 
a/dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/ConfigTest.java
+++ 
b/dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/ConfigTest.java
@@ -381,7 +381,7 @@ public void testInitReference() throws Exception {
         }
     }
 
-    // DUBBO-571 methods key in provider's URL doesn't contain the methods 
from inherited super interface
+    // DUBBO-571 methods key in provider's URLONE doesn't contain the methods 
from inherited super interface
     @Test
     public void test_noMethodInterface_methodsKeyHasValue() throws Exception {
         ClassPathXmlApplicationContext ctx = new 
ClassPathXmlApplicationContext(ConfigTest.class.getPackage().getName().replace('.',
 '/') + "/demo-provider-no-methods-interface.xml");
diff --git 
a/dubbo-registry/dubbo-registry-api/src/test/java/com/alibaba/dubbo/registry/support/AbstractRegistryFactoryTest.java
 
b/dubbo-registry/dubbo-registry-api/src/test/java/com/alibaba/dubbo/registry/support/AbstractRegistryFactoryTest.java
index cb2a45473f..327f9f54ff 100644
--- 
a/dubbo-registry/dubbo-registry-api/src/test/java/com/alibaba/dubbo/registry/support/AbstractRegistryFactoryTest.java
+++ 
b/dubbo-registry/dubbo-registry-api/src/test/java/com/alibaba/dubbo/registry/support/AbstractRegistryFactoryTest.java
@@ -22,7 +22,7 @@
 import com.alibaba.dubbo.registry.Registry;
 import com.alibaba.dubbo.registry.RegistryFactory;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Test;
 
 import java.util.List;
diff --git 
a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/DirectChannelBufferTest.java
 
b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/DirectChannelBufferTest.java
index ff623efdde..83b87b30ab 100644
--- 
a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/DirectChannelBufferTest.java
+++ 
b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/DirectChannelBufferTest.java
@@ -16,7 +16,7 @@
  */
 package com.alibaba.dubbo.remoting.buffer;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 
 public class DirectChannelBufferTest extends AbstractChannelBufferTest {
 
diff --git 
a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/HeapChannelBufferTest.java
 
b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/HeapChannelBufferTest.java
index 7ad39dafbb..03be4c41fc 100644
--- 
a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/HeapChannelBufferTest.java
+++ 
b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/buffer/HeapChannelBufferTest.java
@@ -16,7 +16,7 @@
  */
 package com.alibaba.dubbo.remoting.buffer;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 
 public class HeapChannelBufferTest extends AbstractChannelBufferTest {
 
diff --git 
a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/codec/ExchangeCodecTest.java
 
b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/codec/ExchangeCodecTest.java
index e372e14f65..23cbcd80f1 100644
--- 
a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/codec/ExchangeCodecTest.java
+++ 
b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/codec/ExchangeCodecTest.java
@@ -32,7 +32,7 @@
 import com.alibaba.dubbo.remoting.exchange.codec.ExchangeCodec;
 import com.alibaba.dubbo.remoting.telnet.codec.TelnetCodec;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 
diff --git 
a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/codec/TelnetCodecTest.java
 
b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/codec/TelnetCodecTest.java
index fdc827413c..2e8a41ad59 100644
--- 
a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/codec/TelnetCodecTest.java
+++ 
b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/codec/TelnetCodecTest.java
@@ -24,7 +24,7 @@
 import com.alibaba.dubbo.remoting.buffer.ChannelBuffers;
 import com.alibaba.dubbo.remoting.telnet.codec.TelnetCodec;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 
diff --git 
a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/ConnectChannelHandlerTest.java
 
b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/ConnectChannelHandlerTest.java
index 4799ff6fd3..74b8896c15 100644
--- 
a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/ConnectChannelHandlerTest.java
+++ 
b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/ConnectChannelHandlerTest.java
@@ -22,7 +22,7 @@
 import com.alibaba.dubbo.remoting.exchange.Response;
 import 
com.alibaba.dubbo.remoting.transport.dispatcher.connection.ConnectionOrderedChannelHandler;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
diff --git 
a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/WrappedChannelHandlerTest.java
 
b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/WrappedChannelHandlerTest.java
index 96e147c376..7ff84a0aa1 100644
--- 
a/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/WrappedChannelHandlerTest.java
+++ 
b/dubbo-remoting/dubbo-remoting-api/src/test/java/com/alibaba/dubbo/remoting/handler/WrappedChannelHandlerTest.java
@@ -22,7 +22,7 @@
 import com.alibaba.dubbo.remoting.RemotingException;
 import com.alibaba.dubbo.remoting.transport.dispatcher.WrappedChannelHandler;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 
diff --git 
a/dubbo-remoting/dubbo-remoting-mina/src/test/java/com/alibaba/remoting/transport/mina/ClientToServerTest.java
 
b/dubbo-remoting/dubbo-remoting-mina/src/test/java/com/alibaba/remoting/transport/mina/ClientToServerTest.java
index 48bc7b76e9..9ec37c4e30 100644
--- 
a/dubbo-remoting/dubbo-remoting-mina/src/test/java/com/alibaba/remoting/transport/mina/ClientToServerTest.java
+++ 
b/dubbo-remoting/dubbo-remoting-mina/src/test/java/com/alibaba/remoting/transport/mina/ClientToServerTest.java
@@ -22,7 +22,7 @@
 import com.alibaba.dubbo.remoting.exchange.ResponseFuture;
 import com.alibaba.dubbo.remoting.exchange.support.Replier;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import junit.framework.TestCase;
 import org.junit.Test;
 
diff --git 
a/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/exchange/support/header/HeartbeatHandlerTest.java
 
b/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/exchange/support/header/HeartbeatHandlerTest.java
index 89fc6f44b5..fba07b851d 100644
--- 
a/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/exchange/support/header/HeartbeatHandlerTest.java
+++ 
b/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/exchange/support/header/HeartbeatHandlerTest.java
@@ -30,7 +30,7 @@
 import com.alibaba.dubbo.remoting.exchange.Exchangers;
 import com.alibaba.dubbo.remoting.transport.dispatcher.FakeChannelHandlers;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.After;
 import org.junit.Test;
 
diff --git 
a/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/transport/netty/ClientToServerTest.java
 
b/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/transport/netty/ClientToServerTest.java
index 0046d4ec1d..91eebdd0a8 100644
--- 
a/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/transport/netty/ClientToServerTest.java
+++ 
b/dubbo-remoting/dubbo-remoting-netty/src/test/java/com/alibaba/dubbo/remoting/transport/netty/ClientToServerTest.java
@@ -22,7 +22,7 @@
 import com.alibaba.dubbo.remoting.exchange.ResponseFuture;
 import com.alibaba.dubbo.remoting.exchange.support.Replier;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import junit.framework.TestCase;
 import org.junit.Test;
 
diff --git 
a/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboInvokerAvilableTest.java
 
b/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboInvokerAvilableTest.java
index dcedfcf652..6629aa13ff 100644
--- 
a/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboInvokerAvilableTest.java
+++ 
b/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboInvokerAvilableTest.java
@@ -27,7 +27,7 @@
 import com.alibaba.dubbo.rpc.ProxyFactory;
 import com.alibaba.dubbo.rpc.protocol.dubbo.support.ProtocolUtils;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
diff --git 
a/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboProtocolTest.java
 
b/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboProtocolTest.java
index 5e8a70955f..4ef0c4d5e0 100644
--- 
a/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboProtocolTest.java
+++ 
b/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/DubboProtocolTest.java
@@ -31,14 +31,14 @@
 import com.alibaba.dubbo.rpc.protocol.dubbo.support.Type;
 import com.alibaba.dubbo.rpc.service.EchoService;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Test;
 
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
 
-import static junit.framework.Assert.assertEquals;
+import static org.junit.Assert.assertEquals;
 
 /**
  * <code>ProxiesTest</code>
diff --git 
a/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/ImplicitCallBackTest.java
 
b/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/ImplicitCallBackTest.java
index 6006be8493..728a424538 100644
--- 
a/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/ImplicitCallBackTest.java
+++ 
b/dubbo-rpc/dubbo-rpc-dubbo/src/test/java/com/alibaba/dubbo/rpc/protocol/dubbo/ImplicitCallBackTest.java
@@ -26,7 +26,7 @@
 import com.alibaba.dubbo.rpc.StaticContext;
 import com.alibaba.dubbo.rpc.protocol.dubbo.support.ProtocolUtils;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git 
a/dubbo-rpc/dubbo-rpc-injvm/src/test/java/com/alibaba/dubbo/rpc/protocol/injvm/InjvmProtocolTest.java
 
b/dubbo-rpc/dubbo-rpc-injvm/src/test/java/com/alibaba/dubbo/rpc/protocol/injvm/InjvmProtocolTest.java
index 0af3f46ff9..a390b73c6f 100644
--- 
a/dubbo-rpc/dubbo-rpc-injvm/src/test/java/com/alibaba/dubbo/rpc/protocol/injvm/InjvmProtocolTest.java
+++ 
b/dubbo-rpc/dubbo-rpc-injvm/src/test/java/com/alibaba/dubbo/rpc/protocol/injvm/InjvmProtocolTest.java
@@ -30,8 +30,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import static junit.framework.Assert.assertEquals;
-import static junit.framework.Assert.assertTrue;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 /**
  * <code>ProxiesTest</code>
diff --git 
a/dubbo-rpc/dubbo-rpc-rmi/src/test/java/com/alibaba/dubbo/rpc/protocol/rmi/RmiProtocolTest.java
 
b/dubbo-rpc/dubbo-rpc-rmi/src/test/java/com/alibaba/dubbo/rpc/protocol/rmi/RmiProtocolTest.java
index 83f6a19417..d7c5910b68 100644
--- 
a/dubbo-rpc/dubbo-rpc-rmi/src/test/java/com/alibaba/dubbo/rpc/protocol/rmi/RmiProtocolTest.java
+++ 
b/dubbo-rpc/dubbo-rpc-rmi/src/test/java/com/alibaba/dubbo/rpc/protocol/rmi/RmiProtocolTest.java
@@ -28,7 +28,7 @@
 import org.junit.Ignore;
 import org.junit.Test;
 
-import static junit.framework.Assert.assertEquals;
+import static org.junit.Assert.assertEquals;
 
 public class RmiProtocolTest {
     private Protocol protocol = 
ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension();
diff --git 
a/dubbo-test/dubbo-test-examples/src/test/java/com/alibaba/dubbo/examples/validation/ValidationTest.java
 
b/dubbo-test/dubbo-test-examples/src/test/java/com/alibaba/dubbo/examples/validation/ValidationTest.java
index 2438c210e0..b33110d4ba 100644
--- 
a/dubbo-test/dubbo-test-examples/src/test/java/com/alibaba/dubbo/examples/validation/ValidationTest.java
+++ 
b/dubbo-test/dubbo-test-examples/src/test/java/com/alibaba/dubbo/examples/validation/ValidationTest.java
@@ -19,7 +19,7 @@
 import com.alibaba.dubbo.examples.validation.api.ValidationParameter;
 import com.alibaba.dubbo.examples.validation.api.ValidationService;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 import org.junit.Test;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to