diff --git a/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/metrics/TestDefaultHttpServerMetrics.java b/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/metrics/TestDefaultHttpServerMetrics.java
index 2c64f14..d8cbc40 100644
--- a/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/metrics/TestDefaultHttpServerMetrics.java
+++ b/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/metrics/TestDefaultHttpServerMetrics.java
@@ -24,17 +24,13 @@
 import org.junit.Before;
 import org.junit.Test;
 
-import io.vertx.core.Vertx;
 import io.vertx.core.VertxOptions;
-import io.vertx.core.http.HttpServer;
 import io.vertx.core.http.HttpServerOptions;
 import io.vertx.core.net.SocketAddress;
 import mockit.Mocked;
 import org.junit.jupiter.api.Assertions;
 
 public class TestDefaultHttpServerMetrics {
-  @Mocked
-  Vertx vertx;
 
   VertxOptions vertxOptions = new VertxOptions();
 
@@ -43,12 +39,6 @@
   DefaultVertxMetrics defaultVertxMetrics;
 
   @Mocked
-  HttpServer listen1_server1;
-
-  @Mocked
-  HttpServer listen1_server2;
-
-  @Mocked
   SocketAddress listen1_addr;
 
   @Mocked
diff --git a/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/metrics/TestDefaultTcpServerMetrics.java b/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/metrics/TestDefaultTcpServerMetrics.java
index 12f3a16..f9b93f1 100644
--- a/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/metrics/TestDefaultTcpServerMetrics.java
+++ b/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/metrics/TestDefaultTcpServerMetrics.java
@@ -24,7 +24,6 @@
 import org.junit.Before;
 import org.junit.Test;
 
-import io.vertx.core.Vertx;
 import io.vertx.core.VertxOptions;
 import io.vertx.core.net.NetServerOptions;
 import io.vertx.core.net.SocketAddress;
@@ -32,8 +31,6 @@
 import org.junit.jupiter.api.Assertions;
 
 public class TestDefaultTcpServerMetrics {
-  @Mocked
-  Vertx vertx;
 
   VertxOptions vertxOptions = new VertxOptions();
 
diff --git a/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/metrics/TestDefaultVertxMetricsFactory.java b/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/metrics/TestDefaultVertxMetricsFactory.java
index 9db33b0..1ae56eb 100644
--- a/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/metrics/TestDefaultVertxMetricsFactory.java
+++ b/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/metrics/TestDefaultVertxMetricsFactory.java
@@ -18,16 +18,12 @@
 
 import org.junit.Test;
 
-import io.vertx.core.Vertx;
 import io.vertx.core.VertxOptions;
 import io.vertx.core.metrics.MetricsOptions;
 import io.vertx.core.spi.metrics.VertxMetrics;
-import mockit.Mocked;
 import org.junit.jupiter.api.Assertions;
 
 public class TestDefaultVertxMetricsFactory {
-  @Mocked
-  Vertx vertx;
 
   VertxOptions options = new VertxOptions();
 
diff --git a/parents/default/pom.xml b/parents/default/pom.xml
index aca7242..0f145ce 100644
--- a/parents/default/pom.xml
+++ b/parents/default/pom.xml
@@ -46,13 +46,13 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-core</artifactId>
+      <groupId>org.hamcrest</groupId>
+      <artifactId>hamcrest-core</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.hamcrest</groupId>
-      <artifactId>hamcrest-core</artifactId>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-core</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
