diff --git a/aliyun-java-sdk-core/src/test/java/com/aliyuncs/CommonResponseTest.java b/aliyun-java-sdk-core/src/test/java/com/aliyuncs/CommonResponseTest.java
index 6ba8845103..7627394be6 100644
--- a/aliyun-java-sdk-core/src/test/java/com/aliyuncs/CommonResponseTest.java
+++ b/aliyun-java-sdk-core/src/test/java/com/aliyuncs/CommonResponseTest.java
@@ -7,8 +7,6 @@
 import org.junit.Before;
 import org.junit.Test;
 
-import static org.mockito.Mockito.mock;
-
 public class CommonResponseTest {
     private CommonResponse response;
 
@@ -25,14 +23,14 @@ public void getSetTest() {
         response.setHttpStatus(200);
         Assert.assertEquals(200, response.getHttpStatus());
 
-        HttpResponse httpResponse = mock(HttpResponse.class);
+        HttpResponse httpResponse = new HttpResponse();
         response.setHttpResponse(httpResponse);
         Assert.assertTrue(httpResponse == response.getHttpResponse());
     }
 
     @Test
     public void getInstanceTest() throws ClientException {
-        UnmarshallerContext context = mock(UnmarshallerContext.class);
+        UnmarshallerContext context = new UnmarshallerContext();
         Assert.assertNull(response.getInstance(context));
     }
 
diff --git a/aliyun-java-sdk-core/src/test/java/com/aliyuncs/http/HttpUtilTest.java b/aliyun-java-sdk-core/src/test/java/com/aliyuncs/http/HttpUtilTest.java
index 582d8bfc26..559ed0ee43 100644
--- a/aliyun-java-sdk-core/src/test/java/com/aliyuncs/http/HttpUtilTest.java
+++ b/aliyun-java-sdk-core/src/test/java/com/aliyuncs/http/HttpUtilTest.java
@@ -43,30 +43,32 @@ public void testHttpDebug() {
     }
 
     @Test
-    public void testDebugHttpRequest() throws ClientException {
-        HttpRequest request = mock(HttpRequest.class);
-        Mockito.when(request.getSysMethod()).thenReturn(MethodType.GET);
-        Mockito.when(request.getSysUrl()).thenReturn("http://test.domain");
+    public void testDebugHttpRequest() {
         Map<String, String> requestHeaders = new HashMap<String, String>();
-        Mockito.when(request.getHttpContentString()).thenReturn("request body");
         requestHeaders.put("test1", "test1");
         requestHeaders.put("test2", "test2");
-        Mockito.when(request.getSysHeaders()).thenReturn(requestHeaders);
-        String exceptString = "> GET HTTP/1.1\n> Host : test.domain\n> test2 : test2\n> test1 : test1\n> "
+        HttpRequest request = new HttpRequest("http://test.domain", requestHeaders);
+        request.setSysMethod(MethodType.POST);
+        request.setSysReadTimeout(0);
+        request.setSysConnectTimeout(0);
+        request.setHttpContent("request body".getBytes(), "utf-8", null);
+        String exceptString = "> POST HTTP/1.1\n> Host : test.domain\n> test2 : test2\n> Content-Length : 12\n"
+                + "> test1 : test1\n> Content-MD5 : YhZ08xUv78xtnjbDzSonAQ==\n> "
                 + "Request URL : http://test.domain\n> " + "Request string to sign: [null]\n> "
                 + "Request isIgnoreSSLCerts : false\n> " + "Request connect timeout : 0\n> "
-                + "Request read timeout : 0\n> " + "Encoding : null\n> " + "\n" + "request body";
+                + "Request read timeout : 0\n> " + "Encoding : utf-8\n> " + "\n" + "request body";
 
         HttpUtil.setIsHttpDebug(true);
         HttpUtil.setIsHttpContentDebug(true);
-        Assert.assertEquals(HttpUtil.debugHttpRequest(request), exceptString);
+        Assert.assertEquals(exceptString, HttpUtil.debugHttpRequest(request));
 
         HttpUtil.setIsHttpContentDebug(false);
-        exceptString = "> GET HTTP/1.1\n> Host : test.domain\n> test2 : test2\n> test1 : test1\n> "
+        exceptString = "> POST HTTP/1.1\n> Host : test.domain\n> test2 : test2\n> Content-Length : 12\n"
+                + "> test1 : test1\n> Content-MD5 : YhZ08xUv78xtnjbDzSonAQ==\n> "
                 + "Request URL : http://test.domain\n> " + "Request string to sign: [null]\n> "
                 + "Request isIgnoreSSLCerts : false\n> " + "Request connect timeout : 0\n> "
-                + "Request read timeout : 0\n> " + "Encoding : null\n> ";
-        Assert.assertEquals(HttpUtil.debugHttpRequest(request), exceptString);
+                + "Request read timeout : 0\n> " + "Encoding : utf-8\n> ";
+        Assert.assertEquals(exceptString, HttpUtil.debugHttpRequest(request));
 
         HttpUtil.setIsHttpDebug(false);
         Assert.assertNull(HttpUtil.debugHttpRequest(request));
@@ -110,7 +112,7 @@ public void testDebugHttpResponse() throws ClientException {
 
     @Test
     public void testDebugHttpRquestException() throws ClientException {
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mock url");
         Mockito.when(request.getSysMethod()).thenReturn(MethodType.GET);
         Mockito.when(request.getSysUrl()).thenReturn("httpss://test.domain/jdj");
         Map<String, String> requestHeaders = new HashMap<String, String>();
@@ -163,7 +165,7 @@ public void testDebugHttpResponseException() throws ClientException {
 
     @Test
     public void testGetJDKProxyException() throws ClientException {
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mock url");
         thrown.expect(ClientException.class);
         Proxy proxy = HttpUtil.getJDKProxy("http0://www.aliyun.com", null, request);
         Assert.assertNotNull(proxy);
@@ -171,21 +173,21 @@ public void testGetJDKProxyException() throws ClientException {
 
     @Test
     public void testGetJDKProxyEnvProxyHasUserInfo() throws ClientException {
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mock url");
         Proxy proxy = HttpUtil.getJDKProxy(null, "http://user:passwd@www.aliyun.com", request);
         Assert.assertNotNull(proxy);
     }
 
     @Test
     public void testGetJDKProxyEnvProxyNoUserInfo() throws ClientException {
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mock url");
         Proxy proxy = HttpUtil.getJDKProxy(null, "http://www.aliyun.com:80", request);
         Assert.assertNotNull(proxy);
     }
 
     @Test
     public void testGetApacheProxyException() throws ClientException {
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mock url");
         thrown.expect(ClientException.class);
         HttpHost proxy = HttpUtil.getApacheProxy("http0://www.aliyun.com", null, request);
         Assert.assertNotNull(proxy);
@@ -193,14 +195,14 @@ public void testGetApacheProxyException() throws ClientException {
 
     @Test
     public void testGetApacheProxyEnvProxyHasUserInfo() throws ClientException {
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mock url");
         HttpHost proxy = HttpUtil.getApacheProxy(null, "http://user:passwd@www.aliyun.com", request);
         Assert.assertNotNull(proxy);
     }
 
     @Test
     public void testGetApacheProxyEnvProxyNoUserInfo() throws ClientException {
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mock url");
         HttpHost proxy = HttpUtil.getApacheProxy(null, "http://www.aliyun.com:80", request);
         Assert.assertNotNull(proxy);
     }
diff --git a/aliyun-java-sdk-core/src/test/java/com/aliyuncs/http/clients/CompatibleUrlConnClientTest.java b/aliyun-java-sdk-core/src/test/java/com/aliyuncs/http/clients/CompatibleUrlConnClientTest.java
index 89e994ac66..6fd8d3f3c2 100644
--- a/aliyun-java-sdk-core/src/test/java/com/aliyuncs/http/clients/CompatibleUrlConnClientTest.java
+++ b/aliyun-java-sdk-core/src/test/java/com/aliyuncs/http/clients/CompatibleUrlConnClientTest.java
@@ -71,7 +71,7 @@ public void asyncInvokeTest() throws ClientException, IOException {
         when(config.getSslSocketFactory()).thenReturn(sslSocketFactory);
         when(config.isIgnoreSSLCerts()).thenReturn(false);
         CompatibleUrlConnClient client = new CompatibleUrlConnClient(config);
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mockurl");
         CallBack callback = mock(CallBack.class);
         client.asyncInvoke(request, callback);
         client.close();
@@ -121,7 +121,7 @@ public void buildHttpConnectionNullSysUrlTest() throws Exception {
         when(config.isIgnoreSSLCerts()).thenReturn(true);
         CompatibleUrlConnClient client = new CompatibleUrlConnClient(config);
         thrown.expect(IllegalArgumentException.class);
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mock url");
         Whitebox.invokeMethod(client, "buildHttpConnection", request);
     }
 
@@ -133,7 +133,7 @@ public void buildHttpConnectionNullSysMethodTest() throws Exception {
         when(config.isIgnoreSSLCerts()).thenReturn(true);
         CompatibleUrlConnClient client = new CompatibleUrlConnClient(config);
         thrown.expect(IllegalArgumentException.class);
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mock url");
         when(request.getSysUrl()).thenReturn("sysUrl");
         Whitebox.invokeMethod(client, "buildHttpConnection", request);
     }
@@ -148,7 +148,7 @@ public void buildHttpConnectionPOSTMethodAndNullContentAndHttpsTest() throws Exc
         CompatibleUrlConnClient client = PowerMockito.spy(client0);
         Proxy proxy = Proxy.NO_PROXY;
         PowerMockito.doReturn(proxy).when(client, "calcProxy", any(URL.class), any(HttpRequest.class));
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mock url");
         when(request.getSysMethod()).thenReturn(MethodType.POST);
         when(request.getSysUrl()).thenReturn("https://www.aliyun.com");
         when(request.getSysConnectTimeout()).thenReturn(120);
@@ -178,7 +178,7 @@ public void buildHttpConnectionPOSTMethodAndHttpTest() throws Exception {
         CompatibleUrlConnClient client = PowerMockito.spy(client0);
         Proxy proxy = Proxy.NO_PROXY;
         PowerMockito.doReturn(proxy).when(client, "calcProxy", any(URL.class), any(HttpRequest.class));
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mock url");
         when(request.getHttpContent()).thenReturn("content".getBytes());
         when(request.getSysMethod()).thenReturn(MethodType.POST);
         when(request.getSysUrl()).thenReturn("http://www.aliyun.com");
@@ -196,7 +196,7 @@ public void buildHttpConnectionGETMethodAndHttpsTest() throws Exception {
         CompatibleUrlConnClient client = PowerMockito.spy(client0);
         Proxy proxy = Proxy.NO_PROXY;
         PowerMockito.doReturn(proxy).when(client, "calcProxy", any(URL.class), any(HttpRequest.class));
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mock url");
         when(request.getHttpContent()).thenReturn("content".getBytes());
         when(request.getSysMethod()).thenReturn(MethodType.POST);
         when(request.getSysUrl()).thenReturn("https://www.aliyun.com");
@@ -216,7 +216,7 @@ public void buildHttpConnectionGETMethodAndNullContentTest() throws Exception {
         CompatibleUrlConnClient client = PowerMockito.spy(client0);
         Proxy proxy = Proxy.NO_PROXY;
         PowerMockito.doReturn(proxy).when(client, "calcProxy", any(URL.class), any(HttpRequest.class));
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mock url");
         when(request.getHttpContent()).thenReturn(null);
         when(request.getSysMethod()).thenReturn(MethodType.GET);
         when(request.getSysUrl()).thenReturn("http://www.aliyun.com");
@@ -271,7 +271,7 @@ public void syncInvokeIOExceptionTest() throws Exception {
         when(config.isIgnoreSSLCerts()).thenReturn(true);
         CompatibleUrlConnClient client0 = new CompatibleUrlConnClient(config);
         CompatibleUrlConnClient client = PowerMockito.spy(client0);
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mock url");
         HttpURLConnection connection = mock(HttpURLConnection.class);
         doThrow(new IOException()).when(connection).connect();
         PowerMockito.doReturn(connection).when(client, "buildHttpConnection", request);
@@ -292,7 +292,7 @@ public void syncInvokeNormalAndNoneMethodAndContentIsNotEmptyTest() throws Excep
         when(config.isIgnoreSSLCerts()).thenReturn(true);
         CompatibleUrlConnClient client0 = new CompatibleUrlConnClient(config);
         CompatibleUrlConnClient client = PowerMockito.spy(client0);
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mock url");
         when(request.getHttpContent()).thenReturn("http content".getBytes());
         HttpURLConnection connection = mock(HttpURLConnection.class);
         doNothing().when(connection).connect();
@@ -316,7 +316,7 @@ public void syncInvokeNormalAndGetMethodAndContentIsNotEmptyTest() throws Except
         when(config.isIgnoreSSLCerts()).thenReturn(true);
         CompatibleUrlConnClient client0 = new CompatibleUrlConnClient(config);
         CompatibleUrlConnClient client = PowerMockito.spy(client0);
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mock url");
         when(request.getSysMethod()).thenReturn(MethodType.GET);
         when(request.getHttpContent()).thenReturn("http content".getBytes());
         HttpURLConnection connection = mock(HttpURLConnection.class);
@@ -345,7 +345,7 @@ public void syncInvokeNormalAndPostMethodAndContentIsNotEmptyTest() throws Excep
         when(config.isIgnoreSSLCerts()).thenReturn(true);
         CompatibleUrlConnClient client0 = new CompatibleUrlConnClient(config);
         CompatibleUrlConnClient client = PowerMockito.spy(client0);
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mock url");
         when(request.getSysMethod()).thenReturn(MethodType.POST);
         when(request.getHttpContent()).thenReturn("http content".getBytes());
         HttpURLConnection connection = mock(HttpURLConnection.class);
@@ -373,7 +373,7 @@ public void syncInvokeNormalAndContentIsEmptyTest() throws Exception {
         when(config.isIgnoreSSLCerts()).thenReturn(true);
         CompatibleUrlConnClient client0 = new CompatibleUrlConnClient(config);
         CompatibleUrlConnClient client = PowerMockito.spy(client0);
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mock url");
         when(request.getSysMethod()).thenReturn(MethodType.GET);
         when(request.getHttpContent()).thenReturn("".getBytes());
         HttpURLConnection connection = mock(HttpURLConnection.class);
diff --git a/aliyun-java-sdk-core/src/test/java/com/aliyuncs/policy/retry/RetryPolicyTest.java b/aliyun-java-sdk-core/src/test/java/com/aliyuncs/policy/retry/RetryPolicyTest.java
index c962a56a09..5fd7342fc5 100644
--- a/aliyun-java-sdk-core/src/test/java/com/aliyuncs/policy/retry/RetryPolicyTest.java
+++ b/aliyun-java-sdk-core/src/test/java/com/aliyuncs/policy/retry/RetryPolicyTest.java
@@ -82,7 +82,7 @@ public void retryTest() throws InterruptedException {
                 .build();
 
         String coordinate = "nanhe:test";
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mock url");
         RetryPolicyContext context = RetryPolicyContext.builder()
                 .coordinate(coordinate)
                 .httpRequest(request)
diff --git a/aliyun-java-sdk-core/src/test/java/com/aliyuncs/utils/LogUtilsTest.java b/aliyun-java-sdk-core/src/test/java/com/aliyuncs/utils/LogUtilsTest.java
index 37243121c2..9ead05057e 100644
--- a/aliyun-java-sdk-core/src/test/java/com/aliyuncs/utils/LogUtilsTest.java
+++ b/aliyun-java-sdk-core/src/test/java/com/aliyuncs/utils/LogUtilsTest.java
@@ -164,7 +164,7 @@ public void logUnitGetSetTest() throws ClientException {
                 null, resHeaders);
         mockLogUtils();
         LogUtils.LogUnit logUnit = new LogUtils.LogUnit(httpRequest, httpResponse);
-        HttpRequest request = mock(HttpRequest.class);
+        HttpRequest request = new HttpRequest("mock url");
         logUnit.setHttpRequest(request);
         Assert.assertEquals(request, logUnit.getHttpRequest());