[SCB-2475] new module should not depends on jmockit (#3057)

diff --git a/clients/config-kie-client/src/test/java/org/apache/servicecomb/config/kie/client/model/KieAddressManagerTest.java b/clients/config-kie-client/src/test/java/org/apache/servicecomb/config/kie/client/model/KieAddressManagerTest.java
index 899227c..0e4f579 100644
--- a/clients/config-kie-client/src/test/java/org/apache/servicecomb/config/kie/client/model/KieAddressManagerTest.java
+++ b/clients/config-kie-client/src/test/java/org/apache/servicecomb/config/kie/client/model/KieAddressManagerTest.java
@@ -26,7 +26,6 @@
 
 import com.google.common.eventbus.EventBus;
 
-import mockit.Deencapsulation;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
@@ -44,7 +43,7 @@
 
     Assertions.assertNotNull(addressManager1);
 
-    List<String> addresses = Deencapsulation.getField(addressManager1, "addresses");
+    List<String> addresses = addressManager1.getAddresses();
     Assertions.assertEquals(2, addresses.size());
     Assertions.assertEquals("http://127.0.0.1:30103", addresses.get(0));
 
@@ -66,10 +65,10 @@
     RefreshEndpointEvent event = new RefreshEndpointEvent(zoneAndRegion, "KIE");
     addressManager1.refreshEndpoint(event, "KIE");
 
-    List<String> availableZone = Deencapsulation.getField(addressManager1, "availableZone");
+    List<String> availableZone = addressManager1.getAvailableZone();
     Assertions.assertEquals("http://127.0.0.3:30100", availableZone.get(0));
 
-    List<String> availableRegion = Deencapsulation.getField(addressManager1, "availableRegion");
+    List<String> availableRegion = addressManager1.getAvailableRegion();
     Assertions.assertEquals("http://127.0.0.4:30100", availableRegion.get(0));
   }
 }
diff --git a/clients/dashboard-client/src/test/java/org/apache/servicecomb/dashboard/client/AddressManagerTest.java b/clients/dashboard-client/src/test/java/org/apache/servicecomb/dashboard/client/AddressManagerTest.java
index b37cfb0..0703e0d 100644
--- a/clients/dashboard-client/src/test/java/org/apache/servicecomb/dashboard/client/AddressManagerTest.java
+++ b/clients/dashboard-client/src/test/java/org/apache/servicecomb/dashboard/client/AddressManagerTest.java
@@ -28,8 +28,6 @@
 
 import com.google.common.eventbus.EventBus;
 
-import mockit.Deencapsulation;
-
 class AddressManagerTest {
 
   private static final List<String> addresses = new ArrayList<>();
@@ -44,7 +42,7 @@
 
     Assertions.assertNotNull(addressManager1);
 
-    List<String> addresses = Deencapsulation.getField(addressManager1, "addresses");
+    List<String> addresses = addressManager1.getAddresses();
     Assertions.assertEquals(2, addresses.size());
     Assertions.assertEquals("http://127.0.0.1:30103", addresses.get(0));
 
@@ -66,10 +64,10 @@
     RefreshEndpointEvent event = new RefreshEndpointEvent(zoneAndRegion, "CseMonitoring");
     addressManager1.refreshEndpoint(event, "CseMonitoring");
 
-    List<String> availableZone = Deencapsulation.getField(addressManager1, "availableZone");
+    List<String> availableZone = addressManager1.getAvailableZone();
     Assertions.assertEquals("http://127.0.0.3:30100", availableZone.get(0));
 
-    List<String> availableRegion = Deencapsulation.getField(addressManager1, "availableRegion");
+    List<String> availableRegion = addressManager1.getAvailableRegion();
     Assertions.assertEquals("http://127.0.0.4:30100", availableRegion.get(0));
   }
 }
diff --git a/clients/http-client-common/pom.xml b/clients/http-client-common/pom.xml
index 82007ed..b7dfc1b 100644
--- a/clients/http-client-common/pom.xml
+++ b/clients/http-client-common/pom.xml
@@ -71,5 +71,11 @@
       <groupId>org.java-websocket</groupId>
       <artifactId>Java-WebSocket</artifactId>
     </dependency>
+
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/clients/http-client-common/src/main/java/org/apache/servicecomb/http/client/common/AbstractAddressManager.java b/clients/http-client-common/src/main/java/org/apache/servicecomb/http/client/common/AbstractAddressManager.java
index c742d03..71d93a1 100644
--- a/clients/http-client-common/src/main/java/org/apache/servicecomb/http/client/common/AbstractAddressManager.java
+++ b/clients/http-client-common/src/main/java/org/apache/servicecomb/http/client/common/AbstractAddressManager.java
@@ -100,6 +100,21 @@
   }
 
   @VisibleForTesting
+  public List<String> getAddresses() {
+    return addresses;
+  }
+
+  @VisibleForTesting
+  public List<String> getAvailableZone() {
+    return availableZone;
+  }
+
+  @VisibleForTesting
+  public List<String> getAvailableRegion() {
+    return availableRegion;
+  }
+
+  @VisibleForTesting
   protected void setAddressRefresh(boolean addressRefresh) {
     isAddressRefresh = addressRefresh;
   }
diff --git a/clients/service-center-client/pom.xml b/clients/service-center-client/pom.xml
index 1e14156..28d6ac2 100755
--- a/clients/service-center-client/pom.xml
+++ b/clients/service-center-client/pom.xml
@@ -42,5 +42,10 @@
       <artifactId>failureaccess</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/clients/service-center-client/src/test/java/org/apache/servicecomb/service/center/client/ServiceCenterRawClientTest.java b/clients/service-center-client/src/test/java/org/apache/servicecomb/service/center/client/ServiceCenterRawClientTest.java
index 2758bda..9cbb090 100755
--- a/clients/service-center-client/src/test/java/org/apache/servicecomb/service/center/client/ServiceCenterRawClientTest.java
+++ b/clients/service-center-client/src/test/java/org/apache/servicecomb/service/center/client/ServiceCenterRawClientTest.java
@@ -33,10 +33,6 @@
  */

 public class ServiceCenterRawClientTest {

 

-  private static final String DEFAULT_HOST = "localhost";

-

-  private static final int DEFAULT_PORT = 30100;

-

   private static final String PROJECT_NAME = "default";

 

   private static final String TENANT_NAME = "default";

diff --git a/common/common-access-log/pom.xml b/common/common-access-log/pom.xml
index 5ffa9fb..ae62505 100644
--- a/common/common-access-log/pom.xml
+++ b/common/common-access-log/pom.xml
@@ -46,5 +46,10 @@
       <artifactId>vertx-codegen</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/common/common-rest/pom.xml b/common/common-rest/pom.xml
index fa66a4f1..58d16ab 100644
--- a/common/common-rest/pom.xml
+++ b/common/common-rest/pom.xml
@@ -65,5 +65,10 @@
       <artifactId>swagger-generator-jaxrs</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/core/pom.xml b/core/pom.xml
index 1dfd3c3..e6edf7e 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -77,5 +77,10 @@
       <artifactId>log4j</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/dynamic-config/config-apollo/pom.xml b/dynamic-config/config-apollo/pom.xml
index d4243f2..c9e15be 100644
--- a/dynamic-config/config-apollo/pom.xml
+++ b/dynamic-config/config-apollo/pom.xml
@@ -40,5 +40,10 @@
       <groupId>org.springframework</groupId>
       <artifactId>spring-web</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/dynamic-config/config-apollo/src/main/java/org/apache/servicecomb/config/archaius/sources/ApolloConfigurationSourceImpl.java b/dynamic-config/config-apollo/src/main/java/org/apache/servicecomb/config/archaius/sources/ApolloConfigurationSourceImpl.java
index 3840c48..3b26124 100644
--- a/dynamic-config/config-apollo/src/main/java/org/apache/servicecomb/config/archaius/sources/ApolloConfigurationSourceImpl.java
+++ b/dynamic-config/config-apollo/src/main/java/org/apache/servicecomb/config/archaius/sources/ApolloConfigurationSourceImpl.java
@@ -27,6 +27,7 @@
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.CopyOnWriteArrayList;
 
+import com.google.common.annotations.VisibleForTesting;
 import org.apache.commons.configuration.Configuration;
 import org.apache.servicecomb.config.ConfigMapping;
 import org.apache.servicecomb.config.client.ApolloClient;
@@ -54,6 +55,11 @@
 
   private final UpdateHandler updateHandler = new UpdateHandler();
 
+  @VisibleForTesting
+  UpdateHandler getUpdateHandler() {
+    return updateHandler;
+  }
+
   @Override
   public int getOrder() {
     return ORDER_BASE * 3;
diff --git a/dynamic-config/config-apollo/src/test/java/org/apache/servicecomb/config/archaius/sources/ApolloConfigurationSourceImplTest.java b/dynamic-config/config-apollo/src/test/java/org/apache/servicecomb/config/archaius/sources/ApolloConfigurationSourceImplTest.java
index ecbe861..b01640c 100644
--- a/dynamic-config/config-apollo/src/test/java/org/apache/servicecomb/config/archaius/sources/ApolloConfigurationSourceImplTest.java
+++ b/dynamic-config/config-apollo/src/test/java/org/apache/servicecomb/config/archaius/sources/ApolloConfigurationSourceImplTest.java
@@ -31,18 +31,16 @@
 
 import com.netflix.config.WatchedUpdateListener;
 
-import mockit.Deencapsulation;
-
 public class ApolloConfigurationSourceImplTest {
   @Test
   public void testCreate() throws Exception {
 
     ApolloConfigurationSourceImpl apolloConfigurationSource = new ApolloConfigurationSourceImpl();
     apolloConfigurationSource.addUpdateListener(result -> Assertions.assertFalse(result.getAdded().isEmpty()));
-    UpdateHandler udateHandler = Deencapsulation.getField(apolloConfigurationSource, UpdateHandler.class);
+    UpdateHandler updateHandler = apolloConfigurationSource.getUpdateHandler();
     Map<String, Object> createItems = new HashMap<>();
     createItems.put("testKey", "testValue");
-    udateHandler.handle(CREATE, createItems);
+    updateHandler.handle(CREATE, createItems);
   }
 
   @Test
@@ -50,17 +48,17 @@
 
     ApolloConfigurationSourceImpl apolloConfigurationSource = new ApolloConfigurationSourceImpl();
     apolloConfigurationSource.addUpdateListener(result -> Assertions.assertFalse(result.getChanged().isEmpty()));
-    UpdateHandler udateHandler = Deencapsulation.getField(apolloConfigurationSource, UpdateHandler.class);
+    UpdateHandler updateHandler = apolloConfigurationSource.getUpdateHandler();
     Map<String, Object> updateItems = new HashMap<>();
     updateItems.put("testKey", "testValue");
-    udateHandler.handle(SET, updateItems);
+    updateHandler.handle(SET, updateItems);
   }
 
   @Test
   public void testDelete() throws Exception {
     ApolloConfigurationSourceImpl apolloConfigurationSource = new ApolloConfigurationSourceImpl();
     apolloConfigurationSource.addUpdateListener(result -> Assertions.assertFalse(result.getDeleted().isEmpty()));
-    UpdateHandler updateHandler = Deencapsulation.getField(apolloConfigurationSource, UpdateHandler.class);
+    UpdateHandler updateHandler = apolloConfigurationSource.getUpdateHandler();
     Map<String, Object> deleteItems = new HashMap<>();
     deleteItems.put("testKey", "testValue");
 
diff --git a/dynamic-config/config-cc/pom.xml b/dynamic-config/config-cc/pom.xml
index 14f7d80..47c1bef 100644
--- a/dynamic-config/config-cc/pom.xml
+++ b/dynamic-config/config-cc/pom.xml
@@ -63,6 +63,11 @@
       <groupId>org.apache.servicecomb</groupId>
       <artifactId>config-center-client</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/dynamic-config/config-nacos/pom.xml b/dynamic-config/config-nacos/pom.xml
index 46560fe..80f2d5c 100644
--- a/dynamic-config/config-nacos/pom.xml
+++ b/dynamic-config/config-nacos/pom.xml
@@ -41,5 +41,10 @@
       <groupId>com.alibaba.nacos</groupId>
       <artifactId>nacos-client</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/edge/edge-core/pom.xml b/edge/edge-core/pom.xml
index abf9792..9073482 100644
--- a/edge/edge-core/pom.xml
+++ b/edge/edge-core/pom.xml
@@ -61,5 +61,10 @@
       <artifactId>swagger-generator-jaxrs</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/foundations/foundation-common/pom.xml b/foundations/foundation-common/pom.xml
index 7cb399a..a682322 100644
--- a/foundations/foundation-common/pom.xml
+++ b/foundations/foundation-common/pom.xml
@@ -129,5 +129,11 @@
       <scope>provided</scope>
       <optional>true</optional>
     </dependency>
+
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/foundations/foundation-config/pom.xml b/foundations/foundation-config/pom.xml
index 6fe8980..c85d1cc 100644
--- a/foundations/foundation-config/pom.xml
+++ b/foundations/foundation-config/pom.xml
@@ -122,5 +122,10 @@
       <groupId>com.google.guava</groupId>
       <artifactId>guava</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/foundations/foundation-metrics/pom.xml b/foundations/foundation-metrics/pom.xml
index 59b9dda..96616aa 100644
--- a/foundations/foundation-metrics/pom.xml
+++ b/foundations/foundation-metrics/pom.xml
@@ -44,5 +44,10 @@
       <artifactId>slf4j-log4j12</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/foundations/foundation-registry/pom.xml b/foundations/foundation-registry/pom.xml
index 6c870c5..207063b 100644
--- a/foundations/foundation-registry/pom.xml
+++ b/foundations/foundation-registry/pom.xml
@@ -47,5 +47,10 @@
       <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-test-scaffolding</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/foundations/foundation-spi/pom.xml b/foundations/foundation-spi/pom.xml
index d037a1d..df67c66 100644
--- a/foundations/foundation-spi/pom.xml
+++ b/foundations/foundation-spi/pom.xml
@@ -35,5 +35,10 @@
       <groupId>org.springframework</groupId>
       <artifactId>spring-core</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/foundations/foundation-ssl/pom.xml b/foundations/foundation-ssl/pom.xml
index 425a040..69642c8 100644
--- a/foundations/foundation-ssl/pom.xml
+++ b/foundations/foundation-ssl/pom.xml
@@ -53,5 +53,10 @@
       <artifactId>foundation-config</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/foundations/foundation-vertx/pom.xml b/foundations/foundation-vertx/pom.xml
index 0a36328..2d252a1 100644
--- a/foundations/foundation-vertx/pom.xml
+++ b/foundations/foundation-vertx/pom.xml
@@ -56,6 +56,11 @@
       <scope>test</scope>
     </dependency>
     <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-test-scaffolding</artifactId>
     </dependency>
diff --git a/handlers/handler-bizkeeper/pom.xml b/handlers/handler-bizkeeper/pom.xml
index 465a1e8..24da25f 100644
--- a/handlers/handler-bizkeeper/pom.xml
+++ b/handlers/handler-bizkeeper/pom.xml
@@ -36,7 +36,10 @@
       <groupId>org.apache.servicecomb</groupId>
       <artifactId>java-chassis-core</artifactId>
     </dependency>
-
+    <dependency>
+      <groupId>org.apache.servicecomb</groupId>
+      <artifactId>foundation-metrics</artifactId>
+    </dependency>
     <dependency>
       <groupId>com.netflix.hystrix</groupId>
       <artifactId>hystrix-core</artifactId>
@@ -53,10 +56,10 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.apache.servicecomb</groupId>
-      <artifactId>foundation-metrics</artifactId>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
     </dependency>
-
   </dependencies>
 
 </project>
diff --git a/handlers/handler-fault-injection/pom.xml b/handlers/handler-fault-injection/pom.xml
index faa140d..420a3f4 100755
--- a/handlers/handler-fault-injection/pom.xml
+++ b/handlers/handler-fault-injection/pom.xml
@@ -52,5 +52,10 @@
       <artifactId>foundation-test-scaffolding</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/handlers/handler-flowcontrol-qps/pom.xml b/handlers/handler-flowcontrol-qps/pom.xml
index 895e60a..0aefb4f 100644
--- a/handlers/handler-flowcontrol-qps/pom.xml
+++ b/handlers/handler-flowcontrol-qps/pom.xml
@@ -45,5 +45,10 @@
       <artifactId>foundation-test-scaffolding</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/handlers/handler-loadbalance/pom.xml b/handlers/handler-loadbalance/pom.xml
index 0fce712..4d073bf 100644
--- a/handlers/handler-loadbalance/pom.xml
+++ b/handlers/handler-loadbalance/pom.xml
@@ -90,6 +90,11 @@
       <artifactId>log4j</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/handlers/handler-publickey-auth/pom.xml b/handlers/handler-publickey-auth/pom.xml
index a9865b6..63ffda5 100644
--- a/handlers/handler-publickey-auth/pom.xml
+++ b/handlers/handler-publickey-auth/pom.xml
@@ -56,7 +56,11 @@
       <artifactId>foundation-test-scaffolding</artifactId>
       <scope>test</scope>
     </dependency>
-
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ZipkinProviderDelegate.java b/handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ZipkinProviderDelegate.java
index c0ff439..0820f0c 100644
--- a/handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ZipkinProviderDelegate.java
+++ b/handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ZipkinProviderDelegate.java
@@ -17,6 +17,7 @@
 
 package org.apache.servicecomb.tracing.zipkin;
 
+import com.google.common.annotations.VisibleForTesting;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.servicecomb.core.Const;
 import org.apache.servicecomb.core.Invocation;
@@ -60,6 +61,11 @@
     return extracted;
   };
 
+  @VisibleForTesting
+  static Getter<Invocation, String> getInvocationStringGetter() {
+    return INVOCATION_STRING_GETTER;
+  }
+
   ZipkinProviderDelegate(HttpTracing httpTracing) {
     this.httpTracing = httpTracing;
     this.extractor = httpTracing.tracing().propagation().extractor(extractor());
diff --git a/handlers/handler-tracing-zipkin/src/test/java/org/apache/servicecomb/tracing/zipkin/ZipkinProviderDelegateTest.java b/handlers/handler-tracing-zipkin/src/test/java/org/apache/servicecomb/tracing/zipkin/ZipkinProviderDelegateTest.java
index 9123d39..68fd31b 100644
--- a/handlers/handler-tracing-zipkin/src/test/java/org/apache/servicecomb/tracing/zipkin/ZipkinProviderDelegateTest.java
+++ b/handlers/handler-tracing-zipkin/src/test/java/org/apache/servicecomb/tracing/zipkin/ZipkinProviderDelegateTest.java
@@ -26,13 +26,11 @@
 import org.mockito.Mockito;
 
 import brave.propagation.Propagation.Getter;
-import mockit.Deencapsulation;
 
 public class ZipkinProviderDelegateTest {
   @Test
   public void testGetterOnGetSpanId() {
-    Getter<Invocation, String> getter = Deencapsulation
-        .getField(ZipkinProviderDelegate.class, "INVOCATION_STRING_GETTER");
+    Getter<Invocation, String> getter = ZipkinProviderDelegate.getInvocationStringGetter();
 
     Invocation invocation = Mockito.mock(Invocation.class);
     Map<String, String> context = new HashMap<>();
@@ -58,8 +56,7 @@
 
   @Test
   public void testGetterOnGetOtherContent() {
-    Getter<Invocation, String> getter = Deencapsulation
-        .getField(ZipkinProviderDelegate.class, "INVOCATION_STRING_GETTER");
+    Getter<Invocation, String> getter = ZipkinProviderDelegate.getInvocationStringGetter();
 
     Invocation invocation = Mockito.mock(Invocation.class);
     Map<String, String> context = new HashMap<>();
diff --git a/inspector/pom.xml b/inspector/pom.xml
index ee52b05..44c6d33 100644
--- a/inspector/pom.xml
+++ b/inspector/pom.xml
@@ -77,5 +77,10 @@
       <artifactId>transport-rest-servlet</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/metrics/metrics-core/pom.xml b/metrics/metrics-core/pom.xml
index 33c28b0..eaf6f36 100644
--- a/metrics/metrics-core/pom.xml
+++ b/metrics/metrics-core/pom.xml
@@ -70,5 +70,10 @@
       <artifactId>transport-highway</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/metrics/metrics-integration/metrics-prometheus/pom.xml b/metrics/metrics-integration/metrics-prometheus/pom.xml
index 9606c27..da9c29d 100644
--- a/metrics/metrics-integration/metrics-prometheus/pom.xml
+++ b/metrics/metrics-integration/metrics-prometheus/pom.xml
@@ -46,6 +46,11 @@
       <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-test-scaffolding</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/parents/default/pom.xml b/parents/default/pom.xml
index d2c3d32..1500db8 100644
--- a/parents/default/pom.xml
+++ b/parents/default/pom.xml
@@ -46,11 +46,6 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.jmockit</groupId>
-      <artifactId>jmockit</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>org.mockito</groupId>
       <artifactId>mockito-core</artifactId>
       <scope>test</scope>
diff --git a/providers/provider-pojo/pom.xml b/providers/provider-pojo/pom.xml
index a41de32..9027c27 100644
--- a/providers/provider-pojo/pom.xml
+++ b/providers/provider-pojo/pom.xml
@@ -55,5 +55,10 @@
       <artifactId>jaxb-api</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/providers/provider-rest-common/pom.xml b/providers/provider-rest-common/pom.xml
index a7cf27c..c8abb42 100644
--- a/providers/provider-rest-common/pom.xml
+++ b/providers/provider-rest-common/pom.xml
@@ -49,5 +49,10 @@
       <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-test-scaffolding</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/providers/provider-springmvc/pom.xml b/providers/provider-springmvc/pom.xml
index 0558cc0..65696d1 100644
--- a/providers/provider-springmvc/pom.xml
+++ b/providers/provider-springmvc/pom.xml
@@ -66,5 +66,10 @@
       <artifactId>jaxb-api</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/service-registry/registry-service-center/pom.xml b/service-registry/registry-service-center/pom.xml
index 0d5d482..ad010a7 100644
--- a/service-registry/registry-service-center/pom.xml
+++ b/service-registry/registry-service-center/pom.xml
@@ -94,5 +94,10 @@
       <artifactId>jaxb-api</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/swagger/swagger-invocation/invocation-core/pom.xml b/swagger/swagger-invocation/invocation-core/pom.xml
index badfa27..212cb92 100644
--- a/swagger/swagger-invocation/invocation-core/pom.xml
+++ b/swagger/swagger-invocation/invocation-core/pom.xml
@@ -51,5 +51,10 @@
       <artifactId>jaxb-api</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/swagger/swagger-invocation/invocation-jaxrs/pom.xml b/swagger/swagger-invocation/invocation-jaxrs/pom.xml
index b41cdb4..9c3a22f 100644
--- a/swagger/swagger-invocation/invocation-jaxrs/pom.xml
+++ b/swagger/swagger-invocation/invocation-jaxrs/pom.xml
@@ -41,5 +41,10 @@
       <artifactId>jersey-client</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/swagger/swagger-invocation/invocation-springmvc/pom.xml b/swagger/swagger-invocation/invocation-springmvc/pom.xml
index f03c039..7a6325f 100644
--- a/swagger/swagger-invocation/invocation-springmvc/pom.xml
+++ b/swagger/swagger-invocation/invocation-springmvc/pom.xml
@@ -50,5 +50,10 @@
       <artifactId>jaxb-api</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/transports/transport-common/pom.xml b/transports/transport-common/pom.xml
index bfd72b2..9b2b18f 100644
--- a/transports/transport-common/pom.xml
+++ b/transports/transport-common/pom.xml
@@ -48,5 +48,10 @@
       <artifactId>log4j</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/transports/transport-highway/pom.xml b/transports/transport-highway/pom.xml
index b281bfc..6c21704 100644
--- a/transports/transport-highway/pom.xml
+++ b/transports/transport-highway/pom.xml
@@ -32,11 +32,19 @@
     </dependency>
     <dependency>
       <groupId>org.apache.servicecomb</groupId>
+      <artifactId>common-protobuf</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-vertx</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.servicecomb</groupId>
-      <artifactId>common-protobuf</artifactId>
+      <artifactId>foundation-metrics</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.servicecomb</groupId>
+      <artifactId>foundation-test-scaffolding</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.servicecomb</groupId>
@@ -60,12 +68,9 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.apache.servicecomb</groupId>
-      <artifactId>foundation-metrics</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.servicecomb</groupId>
-      <artifactId>foundation-test-scaffolding</artifactId>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
     </dependency>
   </dependencies>
 </project>
diff --git a/transports/transport-rest/transport-rest-client/pom.xml b/transports/transport-rest/transport-rest-client/pom.xml
index 62db05b..5fc5890 100644
--- a/transports/transport-rest/transport-rest-client/pom.xml
+++ b/transports/transport-rest/transport-rest-client/pom.xml
@@ -77,5 +77,14 @@
       <artifactId>commons-text</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.servicecomb</groupId>
+      <artifactId>common-protobuf</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/transports/transport-rest/transport-rest-servlet/pom.xml b/transports/transport-rest/transport-rest-servlet/pom.xml
index c8d7848..415afd9 100644
--- a/transports/transport-rest/transport-rest-servlet/pom.xml
+++ b/transports/transport-rest/transport-rest-servlet/pom.xml
@@ -60,5 +60,10 @@
       <groupId>org.apache.servicecomb</groupId>
       <artifactId>foundation-test-scaffolding</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/transports/transport-rest/transport-rest-vertx/pom.xml b/transports/transport-rest/transport-rest-vertx/pom.xml
index 0c65e6c..b07518d 100644
--- a/transports/transport-rest/transport-rest-vertx/pom.xml
+++ b/transports/transport-rest/transport-rest-vertx/pom.xml
@@ -60,5 +60,10 @@
       <groupId>org.apache.servicecomb</groupId>
       <artifactId>common-access-log</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.jmockit</groupId>
+      <artifactId>jmockit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>