[SCB-2611]Replace jmokit Deencapsulation.invoke to invoke directly (#3141)

diff --git a/clients/http-client-common/src/test/java/org/apache/servicecomb/http/client/common/AbstractAddressManagerTest.java b/clients/http-client-common/src/test/java/org/apache/servicecomb/http/client/common/AbstractAddressManagerTest.java
index 2b7f652..9c6a647 100644
--- a/clients/http-client-common/src/test/java/org/apache/servicecomb/http/client/common/AbstractAddressManagerTest.java
+++ b/clients/http-client-common/src/test/java/org/apache/servicecomb/http/client/common/AbstractAddressManagerTest.java
@@ -121,7 +121,7 @@
     new Expectations(addressManager) {
       {
         Deencapsulation.setField(addressManager, "cacheAddress", cache);
-        Deencapsulation.invoke(addressManager, "telnetTest", "http://127.0.0.3:30100");
+        addressManager.telnetTest("http://127.0.0.3:30100");
         result = true;
       }
     };
diff --git a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/AbstractRestInvocation.java b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/AbstractRestInvocation.java
index 8899d0c..cd7e985 100644
--- a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/AbstractRestInvocation.java
+++ b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/AbstractRestInvocation.java
@@ -26,6 +26,7 @@
 import javax.ws.rs.core.HttpHeaders;
 import javax.ws.rs.core.Response.Status;
 
+import com.google.common.annotations.VisibleForTesting;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.servicecomb.common.rest.codec.produce.ProduceProcessor;
 import org.apache.servicecomb.common.rest.codec.produce.ProduceProcessorManager;
@@ -98,7 +99,8 @@
     }
   }
 
-  protected void setContext() throws Exception {
+  @VisibleForTesting
+  public void setContext() throws Exception {
     String strCseContext = requestEx.getHeader(Const.CSE_CONTEXT);
     if (StringUtils.isEmpty(strCseContext)) {
       return;
diff --git a/common/common-rest/src/test/java/org/apache/servicecomb/common/rest/VertxRestInvocationTest.java b/common/common-rest/src/test/java/org/apache/servicecomb/common/rest/VertxRestInvocationTest.java
index 2356998..a83e509 100644
--- a/common/common-rest/src/test/java/org/apache/servicecomb/common/rest/VertxRestInvocationTest.java
+++ b/common/common-rest/src/test/java/org/apache/servicecomb/common/rest/VertxRestInvocationTest.java
@@ -50,7 +50,7 @@
         vertxRestInvocation, "invocation", invocation);
     Mockito.when(requestEx.getContext()).thenReturn(routingContext);
 
-    Deencapsulation.invoke(vertxRestInvocation, "createInvocation");
+    vertxRestInvocation.createInvocation();
 
     Mockito.verify(routingContext, Mockito.times(1)).put(RestConst.REST_INVOCATION_CONTEXT, invocation);
   }
diff --git a/dynamic-config/config-apollo/src/test/java/org/apache/servicecomb/config/client/ApolloClientTest.java b/dynamic-config/config-apollo/src/test/java/org/apache/servicecomb/config/client/ApolloClientTest.java
index 4d015cf..2d73b62 100644
--- a/dynamic-config/config-apollo/src/test/java/org/apache/servicecomb/config/client/ApolloClientTest.java
+++ b/dynamic-config/config-apollo/src/test/java/org/apache/servicecomb/config/client/ApolloClientTest.java
@@ -80,7 +80,7 @@
     ConfigRefresh cr = apolloClient.new ConfigRefresh("");
 
     try {
-      Deencapsulation.invoke(cr, "compareChangedConfig", before, after);
+      cr.compareChangedConfig(before, after);
     } catch (Exception e) {
       status = false;
     }
@@ -88,7 +88,7 @@
 
     before.put("test", "testValue");
     try {
-      Deencapsulation.invoke(cr, "compareChangedConfig", before, after);
+      cr.compareChangedConfig(before, after);
     } catch (Exception e) {
       status = false;
     }
@@ -96,14 +96,14 @@
 
     after.put("test", "testValue2");
     try {
-      Deencapsulation.invoke(cr, "compareChangedConfig", before, after);
+      cr.compareChangedConfig(before, after);
     } catch (Exception e) {
       status = false;
     }
     Assertions.assertTrue(status);
 
     try {
-      Deencapsulation.invoke(cr, "compareChangedConfig", before, after);
+      cr.compareChangedConfig(before, after);
     } catch (Exception e) {
       status = false;
     }
diff --git a/dynamic-config/config-nacos/src/test/java/org/apache/servicecomb/config/nacos/client/NacosClientTest.java b/dynamic-config/config-nacos/src/test/java/org/apache/servicecomb/config/nacos/client/NacosClientTest.java
index 984e49f..4b82a8f 100644
--- a/dynamic-config/config-nacos/src/test/java/org/apache/servicecomb/config/nacos/client/NacosClientTest.java
+++ b/dynamic-config/config-nacos/src/test/java/org/apache/servicecomb/config/nacos/client/NacosClientTest.java
@@ -61,7 +61,7 @@
     NacosClient.ConfigRefresh cr = nacosClient.new ConfigRefresh();
 
     try {
-      Deencapsulation.invoke(cr, "compareChangedConfig", before, after);
+      cr.compareChangedConfig(before, after);
     } catch (Exception e) {
       status = false;
     }
@@ -70,7 +70,7 @@
     status = true;
     before.put("test", "testValue");
     try {
-      Deencapsulation.invoke(cr, "compareChangedConfig", before, after);
+      cr.compareChangedConfig(before, after);
     } catch (Exception e) {
       status = false;
     }
@@ -79,7 +79,7 @@
     status = true;
     after.put("test", "testValue2");
     try {
-      Deencapsulation.invoke(cr, "compareChangedConfig", before, after);
+      cr.compareChangedConfig(before, after);
     } catch (Exception e) {
       status = false;
     }
@@ -87,7 +87,7 @@
 
     status = true;
     try {
-      Deencapsulation.invoke(cr, "compareChangedConfig", before, after);
+      cr.compareChangedConfig(before, after);
     } catch (Exception e) {
       status = false;
     }
diff --git a/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/EdgeInvocation.java b/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/EdgeInvocation.java
index d2eda26..e785335 100644
--- a/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/EdgeInvocation.java
+++ b/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/EdgeInvocation.java
@@ -119,7 +119,7 @@
   }
 
   @Override
-  protected void setContext() throws Exception {
+  public void setContext() throws Exception {
     // do not read InvocationContext from HTTP header, for security reason
   }
 }
diff --git a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/tcp/TcpClientConnection.java b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/tcp/TcpClientConnection.java
index 58bd561..5d363e8 100644
--- a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/tcp/TcpClientConnection.java
+++ b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/client/tcp/TcpClientConnection.java
@@ -208,7 +208,8 @@
     tryLogin();
   }
 
-  private void onClosed(Void v) {
+  @VisibleForTesting
+  void onClosed(Void v) {
     onDisconnected(new IOException("socket closed"));
   }
 
diff --git a/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/client/tcp/TestTcpClientConnection.java b/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/client/tcp/TestTcpClientConnection.java
index 10262ca..4f16c0a 100644
--- a/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/client/tcp/TestTcpClientConnection.java
+++ b/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/client/tcp/TestTcpClientConnection.java
@@ -234,7 +234,7 @@
     }));
     tcpClientConnection.initNetSocket(netSocket);
 
-    Deencapsulation.invoke(tcpClientConnection, "onClosed", new Class<?>[] {Void.class}, new Object[] {null});
+    tcpClientConnection.onClosed(null);
     Assertions.assertEquals(Status.DISCONNECTED, Deencapsulation.getField(tcpClientConnection, "status"));
     Assertions.assertEquals(0, requestMap.size());
   }
diff --git a/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/LoadbalanceHandler.java b/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/LoadbalanceHandler.java
index 6bab0a4..f3fddd1 100644
--- a/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/LoadbalanceHandler.java
+++ b/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/LoadbalanceHandler.java
@@ -23,6 +23,7 @@
 
 import javax.ws.rs.core.Response.Status;
 
+import com.google.common.annotations.VisibleForTesting;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.servicecomb.core.Endpoint;
 import org.apache.servicecomb.core.Handler;
@@ -180,7 +181,8 @@
     loadBalancerMap.clear();
   }
 
-  private void send(Invocation invocation, AsyncResponse asyncResp, LoadBalancer chosenLB) throws Exception {
+  @VisibleForTesting
+  void send(Invocation invocation, AsyncResponse asyncResp, LoadBalancer chosenLB) throws Exception {
     long time = System.currentTimeMillis();
     ServiceCombServer server = chooseServer(invocation, chosenLB);
     if (null == server) {
diff --git a/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/ServiceCombLoadBalancerStats.java b/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/ServiceCombLoadBalancerStats.java
index fac9ba1..cc552c2 100644
--- a/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/ServiceCombLoadBalancerStats.java
+++ b/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/ServiceCombLoadBalancerStats.java
@@ -122,7 +122,8 @@
     return this.pingView;
   }
 
-  void init() {
+  @VisibleForTesting
+  public void init() {
     // for testing
     if (timer != null) {
       timer.cancel();
diff --git a/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/SessionStickinessRule.java b/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/SessionStickinessRule.java
index 7a72e60..7483d9c 100644
--- a/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/SessionStickinessRule.java
+++ b/handlers/handler-loadbalance/src/main/java/org/apache/servicecomb/loadbalance/SessionStickinessRule.java
@@ -19,6 +19,7 @@
 
 import java.util.List;
 
+import com.google.common.annotations.VisibleForTesting;
 import org.apache.servicecomb.core.Invocation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -75,7 +76,8 @@
     return lastServer;
   }
 
-  private ServiceCombServer chooseServerWhenTimeout(List<ServiceCombServer> servers, Invocation invocation) {
+  @VisibleForTesting
+  ServiceCombServer chooseServerWhenTimeout(List<ServiceCombServer> servers, Invocation invocation) {
     synchronized (lock) {
       if (isTimeOut()) {
         chooseNextServer(servers, invocation);
diff --git a/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestLoadbalanceHandler.java b/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestLoadbalanceHandler.java
index 22216e6..151e318 100644
--- a/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestLoadbalanceHandler.java
+++ b/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestLoadbalanceHandler.java
@@ -130,7 +130,7 @@
   }
 
   @Test
-  public void send_noEndPoint(@Injectable LoadBalancer loadBalancer) {
+  public void send_noEndPoint(@Injectable LoadBalancer loadBalancer) throws Exception {
     new Expectations(loadBalancer) {
       {
         loadBalancer.chooseServer(invocation);
@@ -139,16 +139,14 @@
     };
 
     Holder<Throwable> result = new Holder<>();
-    Deencapsulation.invoke(handler, "send", invocation, (AsyncResponse) resp -> {
-      result.value = (Throwable) resp.getResult();
-    }, loadBalancer);
+    handler.send(invocation, resp -> result.value = resp.getResult(), loadBalancer);
 
     Assertions.assertEquals("InvocationException: code=500;msg=CommonExceptionData [message=No available address found.]",
         result.value.getMessage());
   }
 
   @Test
-  public void send_failed2(@Injectable LoadBalancer loadBalancer) {
+  public void send_failed2(@Injectable LoadBalancer loadBalancer) throws Exception {
     MicroserviceInstance instance1 = new MicroserviceInstance();
     instance1.setInstanceId("1234");
     CacheEndpoint cacheEndpoint = new CacheEndpoint("rest://localhost:8080", instance1);
@@ -165,10 +163,7 @@
     sendResponse = Response.create(Status.BAD_REQUEST, "send failed");
 
     Holder<Throwable> result = new Holder<>();
-    Deencapsulation.invoke(handler, "send", invocation, (AsyncResponse) resp -> {
-      result.value = resp.getResult();
-    }, loadBalancer);
-
+    handler.send(invocation, resp -> result.value = resp.getResult(), loadBalancer);
     // InvocationException is not taken as a failure
     Assertions.assertEquals(0,
         loadBalancer.getLoadBalancerStats().getSingleServerStat(server).getSuccessiveConnectionFailureCount());
@@ -177,7 +172,7 @@
   }
 
   @Test
-  public void send_failed(@Injectable LoadBalancer loadBalancer) {
+  public void send_failed(@Injectable LoadBalancer loadBalancer) throws Exception {
     MicroserviceInstance instance1 = new MicroserviceInstance();
     instance1.setInstanceId("1234");
     CacheEndpoint cacheEndpoint = new CacheEndpoint("rest://localhost:8080", instance1);
@@ -194,9 +189,7 @@
     sendResponse = Response.consumerFailResp(new SocketException());
 
     Holder<Throwable> result = new Holder<>();
-    Deencapsulation.invoke(handler, "send", invocation, (AsyncResponse) resp -> {
-      result.value = (Throwable) resp.getResult();
-    }, loadBalancer);
+    handler.send(invocation, resp -> result.value = resp.getResult(), loadBalancer);
 
     Assertions.assertEquals(1,
         loadBalancer.getLoadBalancerStats().getSingleServerStat(server).getSuccessiveConnectionFailureCount());
@@ -206,7 +199,7 @@
   }
 
   @Test
-  public void send_success(@Injectable LoadBalancer loadBalancer) {
+  public void send_success(@Injectable LoadBalancer loadBalancer) throws Exception {
     MicroserviceInstance instance1 = new MicroserviceInstance();
     instance1.setInstanceId("1234");
     CacheEndpoint cacheEndpoint = new CacheEndpoint("rest://localhost:8080", instance1);
@@ -223,9 +216,7 @@
     sendResponse = Response.ok("success");
 
     Holder<String> result = new Holder<>();
-    Deencapsulation.invoke(handler, "send", invocation, (AsyncResponse) resp -> {
-      result.value = resp.getResult();
-    }, loadBalancer);
+    handler.send(invocation, resp -> result.value = resp.getResult(), loadBalancer);
 
     Assertions.assertEquals(1,
         loadBalancer.getLoadBalancerStats().getSingleServerStat(server).getActiveRequestsCount());
diff --git a/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestSessionSticknessRule.java b/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestSessionSticknessRule.java
index 1cf392c..bf97299 100644
--- a/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestSessionSticknessRule.java
+++ b/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestSessionSticknessRule.java
@@ -54,7 +54,7 @@
     Invocation invocation = mock(Invocation.class);
     LoadBalancerStats stats = mock(LoadBalancerStats.class);
     Mockito.when(mockedLb.getLoadBalancerStats()).thenReturn(stats);
-    Deencapsulation.invoke(rule, "chooseServerWhenTimeout", Arrays.asList(mockedServer), invocation);
+    rule.chooseServerWhenTimeout(Arrays.asList(mockedServer), invocation);
     mockedServer.setAlive(true);
     mockedServer.setReadyToServe(true);
     List<ServiceCombServer> allServers = Arrays.asList(mockedServer);
diff --git a/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/filter/IsolationDiscoveryFilterTest.java b/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/filter/IsolationDiscoveryFilterTest.java
index fe9e50f..bba4e42 100644
--- a/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/filter/IsolationDiscoveryFilterTest.java
+++ b/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/filter/IsolationDiscoveryFilterTest.java
@@ -90,7 +90,7 @@
 
   @AfterEach
   public void after() {
-    Deencapsulation.invoke(ServiceCombLoadBalancerStats.INSTANCE, "init");
+    ServiceCombLoadBalancerStats.INSTANCE.init();
     TestServiceCombServerStats.releaseTryingChance();
   }
 
diff --git a/providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/CseClientHttpRequest.java b/providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/CseClientHttpRequest.java
index db5a52f..6bcf88b 100644
--- a/providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/CseClientHttpRequest.java
+++ b/providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/CseClientHttpRequest.java
@@ -26,6 +26,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.Part;
 
+import com.google.common.annotations.VisibleForTesting;
 import org.apache.servicecomb.common.rest.RestConst;
 import org.apache.servicecomb.common.rest.codec.RestCodec;
 import org.apache.servicecomb.common.rest.definition.RestOperationMeta;
@@ -226,7 +227,8 @@
     return invocation;
   }
 
-  private CseClientHttpResponse invoke(Map<String, Object> swaggerArguments) {
+  @VisibleForTesting
+  CseClientHttpResponse invoke(Map<String, Object> swaggerArguments) {
     Invocation invocation = prepareInvocation(swaggerArguments);
     Response response = doInvoke(invocation);
 
diff --git a/providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestUrlWithProviderPrefixClientHttpRequestFactory.java b/providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestUrlWithProviderPrefixClientHttpRequestFactory.java
index 0713e64..85dcadf 100644
--- a/providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestUrlWithProviderPrefixClientHttpRequestFactory.java
+++ b/providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestUrlWithProviderPrefixClientHttpRequestFactory.java
@@ -76,7 +76,7 @@
     Deencapsulation.setField(request, "requestMeta", requestMeta);
     Deencapsulation.setField(request, "path", request.findUriPath(uri));
 
-    Deencapsulation.invoke(request, "invoke", new HashMap<>());
+    request.invoke(new HashMap<>());
 
     Assertions.assertEquals("/v1/path", handlerContext.get(RestConst.REST_CLIENT_REQUEST_PATH));
   }
diff --git a/providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestUrlWithServiceNameClientHttpRequestFactory.java b/providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestUrlWithServiceNameClientHttpRequestFactory.java
index e53ba38..d81d381 100644
--- a/providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestUrlWithServiceNameClientHttpRequestFactory.java
+++ b/providers/provider-springmvc/src/test/java/org/apache/servicecomb/provider/springmvc/reference/TestUrlWithServiceNameClientHttpRequestFactory.java
@@ -75,7 +75,7 @@
     Deencapsulation.setField(request, "requestMeta", requestMeta);
     Deencapsulation.setField(request, "path", request.findUriPath(uri));
 
-    Deencapsulation.invoke(request, "invoke", new HashMap<>());
+    request.invoke(new HashMap<>());
 
     Assertions.assertEquals("/ms/v1/path", handlerContext.get(RestConst.REST_CLIENT_REQUEST_PATH));
   }
diff --git a/service-registry/registry-service-center/src/test/java/org/apache/servicecomb/serviceregistry/client/http/TestServiceRegistryClientImpl.java b/service-registry/registry-service-center/src/test/java/org/apache/servicecomb/serviceregistry/client/http/TestServiceRegistryClientImpl.java
index b6c1d75..2b552cf 100644
--- a/service-registry/registry-service-center/src/test/java/org/apache/servicecomb/serviceregistry/client/http/TestServiceRegistryClientImpl.java
+++ b/service-registry/registry-service-center/src/test/java/org/apache/servicecomb/serviceregistry/client/http/TestServiceRegistryClientImpl.java
@@ -62,7 +62,6 @@
 
 import io.vertx.core.Handler;
 import io.vertx.core.buffer.Buffer;
-import io.vertx.core.http.HttpClientOptions;
 import io.vertx.core.http.HttpClientResponse;
 import io.vertx.core.json.Json;
 import mockit.Deencapsulation;
@@ -103,25 +102,6 @@
   }
 
   @Test
-  public void testPrivateMethodCreateHttpClientOptions() {
-    ArchaiusUtils.setProperty(BootStrapProperties.CONFIG_SERVICE_APPLICATION, "app");
-    ArchaiusUtils.setProperty(BootStrapProperties.CONFIG_SERVICE_NAME, "ms");
-    MicroserviceFactory microserviceFactory = new MicroserviceFactory();
-    Microservice microservice = microserviceFactory.create();
-    oClient.registerMicroservice(microservice);
-    oClient.registerMicroserviceInstance(microservice.getInstance());
-    try {
-      oClient.init();
-      HttpClientOptions httpClientOptions = Deencapsulation.invoke(oClient, "createHttpClientOptions");
-      Assertions.assertNotNull(httpClientOptions);
-      Assertions.assertEquals(80, httpClientOptions.getDefaultPort());
-    } catch (Exception e) {
-      Assertions.assertNotNull(e);
-    }
-    ArchaiusUtils.resetConfig();
-  }
-
-  @Test
   public void testException() {
     ArchaiusUtils.setProperty(BootStrapProperties.CONFIG_SERVICE_APPLICATION, "app");
     ArchaiusUtils.setProperty(BootStrapProperties.CONFIG_SERVICE_NAME, "ms");
diff --git a/transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClient.java b/transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClient.java
index d19e8b0..3e0f98b 100644
--- a/transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClient.java
+++ b/transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClient.java
@@ -21,6 +21,7 @@
 
 import javax.ws.rs.core.Response.Status;
 
+import com.google.common.annotations.VisibleForTesting;
 import org.apache.servicecomb.codec.protobuf.definition.OperationProtobuf;
 import org.apache.servicecomb.codec.protobuf.definition.ProtobufManager;
 import org.apache.servicecomb.core.Invocation;
@@ -65,7 +66,8 @@
     VertxUtils.blockDeploy(vertx, ClientVerticle.class, deployOptions);
   }
 
-  private TcpClientConfig createTcpClientConfig() {
+  @VisibleForTesting
+  TcpClientConfig createTcpClientConfig() {
     TcpClientConfig tcpClientConfig = new TcpClientConfig();
     // global request timeout to be login timeout
     tcpClientConfig.setMsLoginTimeout(DynamicPropertyFactory.getInstance()
diff --git a/transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayClient.java b/transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayClient.java
index 1e2b304..d617e47 100644
--- a/transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayClient.java
+++ b/transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayClient.java
@@ -89,7 +89,7 @@
 
   @Test
   public void testLoginTimeout(@Mocked Vertx vertx) {
-    TcpClientConfig tcpClientConfig = Deencapsulation.invoke(client, "createTcpClientConfig");
+    TcpClientConfig tcpClientConfig = client.createTcpClientConfig();
     Assertions.assertEquals(2000, tcpClientConfig.getMsLoginTimeout());
   }
 
diff --git a/transports/transport-rest/transport-rest-client/src/test/java/org/apache/servicecomb/transport/rest/client/http/TestRestClientInvocation.java b/transports/transport-rest/transport-rest-client/src/test/java/org/apache/servicecomb/transport/rest/client/http/TestRestClientInvocation.java
index ab574b9..ea5dd48 100644
--- a/transports/transport-rest/transport-rest-client/src/test/java/org/apache/servicecomb/transport/rest/client/http/TestRestClientInvocation.java
+++ b/transports/transport-rest/transport-rest-client/src/test/java/org/apache/servicecomb/transport/rest/client/http/TestRestClientInvocation.java
@@ -279,7 +279,7 @@
   }
 
   @Test
-  public void testSetCseContext_enable_unicode() {
+  public void testSetCseContext_enable_unicode() throws Exception {
     Map<String, String> contextMap = new HashMap<>();
     contextMap.put("key", "测试");
     contextMap.put("encodedKey", StringEscapeUtils.escapeJson("测试"));
@@ -302,7 +302,7 @@
     Deencapsulation.setField(vertxRestInvocation, "requestEx", requestEx);
     Deencapsulation.setField(vertxRestInvocation, "invocation", invocation);
 
-    Deencapsulation.invoke(vertxRestInvocation, "setContext");
+    vertxRestInvocation.setContext();
 
     Assertions.assertEquals("测试", invocation.getContext().get("key"));
     Assertions.assertEquals(StringEscapeUtils.escapeJson("测试"), invocation.getContext().get("encodedKey"));
@@ -310,7 +310,7 @@
 
 
   @Test
-  public void testSetCseContext_disable_unicode() throws JsonProcessingException {
+  public void testSetCseContext_disable_unicode() throws Exception {
     Map<String, String> contextMap = new HashMap<>();
     contextMap.put("key", "测试");
     contextMap.put("encodedKey", StringEscapeUtils.escapeJson("测试"));
@@ -340,8 +340,7 @@
     Deencapsulation.setField(vertxRestInvocation, "requestEx", requestEx);
     Deencapsulation.setField(vertxRestInvocation, "invocation", invocation);
 
-    Deencapsulation.invoke(vertxRestInvocation, "setContext");
-
+    vertxRestInvocation.setContext();
     Assertions.assertEquals("测试", invocation.getContext().get("key"));
     Assertions.assertEquals(StringEscapeUtils.escapeJson("测试"), invocation.getContext().get("encodedKey"));
   }
diff --git a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/RestServerVerticle.java b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/RestServerVerticle.java
index addb843..345c538 100644
--- a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/RestServerVerticle.java
+++ b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/RestServerVerticle.java
@@ -24,6 +24,7 @@
 import javax.ws.rs.core.HttpHeaders;
 import javax.ws.rs.core.MediaType;
 
+import com.google.common.annotations.VisibleForTesting;
 import org.apache.servicecomb.common.accessLog.AccessLogConfig;
 import org.apache.servicecomb.common.accessLog.core.element.impl.LocalHostAccessItem;
 import org.apache.servicecomb.common.rest.codec.RestObjectMapperFactory;
@@ -127,7 +128,8 @@
     }
   }
 
-  private void mountGlobalRestFailureHandler(Router mainRouter) {
+  @VisibleForTesting
+  void mountGlobalRestFailureHandler(Router mainRouter) {
     GlobalRestFailureHandler globalRestFailureHandler =
         SPIServiceUtils.getPriorityHighestService(GlobalRestFailureHandler.class);
     Handler<RoutingContext> failureHandler = null == globalRestFailureHandler ?
diff --git a/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/TestRestServerVerticle.java b/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/TestRestServerVerticle.java
index 4f2b664..57a6a2a 100644
--- a/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/TestRestServerVerticle.java
+++ b/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/TestRestServerVerticle.java
@@ -49,7 +49,6 @@
 import io.vertx.ext.web.Router;
 import io.vertx.ext.web.RoutingContext;
 import io.vertx.ext.web.handler.CorsHandler;
-import mockit.Deencapsulation;
 import mockit.Expectations;
 import mockit.Mock;
 import mockit.MockUp;
@@ -251,7 +250,7 @@
 
     RestServerVerticle server = new RestServerVerticle();
 
-    Deencapsulation.invoke(server, "mountCorsHandler", router);
+    server.mountCorsHandler(router);
     Assertions.assertEquals(7, counter.get());
   }
 
@@ -278,7 +277,7 @@
 
     RestServerVerticle restServerVerticle = new RestServerVerticle();
 
-    Deencapsulation.invoke(restServerVerticle, "mountGlobalRestFailureHandler", mainRouter);
+    restServerVerticle.mountGlobalRestFailureHandler(mainRouter);
     Assertions.assertNotNull(handlerHolder.value);
 
     RoutingContext routingContext = Mockito.mock(RoutingContext.class);