diff --git a/src/test/java/com/googlesource/gerrit/plugins/webhooks/EventHandlerTest.java b/src/test/java/com/googlesource/gerrit/plugins/webhooks/EventHandlerTest.java
index 8fd1e9e..8baeb5b 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/webhooks/EventHandlerTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/webhooks/EventHandlerTest.java
@@ -17,7 +17,7 @@
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.verifyNoInteractions;
 import static org.mockito.Mockito.when;
 
 import com.google.common.collect.ImmutableSet;
@@ -71,8 +71,8 @@
   public void remoteUrlUndefinedTaskNotScheduled() {
     when(config.getSubsections(eq(REMOTE))).thenReturn(ImmutableSet.of(FOO));
     eventHandler.onEvent(projectCreated);
-    verifyZeroInteractions(taskFactory);
-    verifyZeroInteractions(postTask);
+    verifyNoInteractions(taskFactory);
+    verifyNoInteractions(postTask);
   }
 
   @Test
@@ -89,8 +89,8 @@
   public void nonProjectEventNotProcessed() {
     Event nonProjectEvent = new Event("non-project-event") {};
     eventHandler.onEvent(nonProjectEvent);
-    verifyZeroInteractions(remoteFactory);
-    verifyZeroInteractions(taskFactory);
-    verifyZeroInteractions(postTask);
+    verifyNoInteractions(remoteFactory);
+    verifyNoInteractions(taskFactory);
+    verifyNoInteractions(postTask);
   }
 }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/webhooks/PostTaskTest.java b/src/test/java/com/googlesource/gerrit/plugins/webhooks/PostTaskTest.java
index fddcfb6..a2aed68 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/webhooks/PostTaskTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/webhooks/PostTaskTest.java
@@ -17,7 +17,7 @@
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.verifyNoInteractions;
 import static org.mockito.Mockito.when;
 
 import com.google.gerrit.entities.Project;
@@ -77,22 +77,22 @@
   public void noScheduleOnEmptyBody() throws Exception {
     when(processor.process(eq(projectCreated), eq(remote))).thenReturn(Optional.empty());
     task.run();
-    verifyZeroInteractions(session);
-    verifyZeroInteractions(executor);
+    verifyNoInteractions(session);
+    verifyNoInteractions(executor);
   }
 
   @Test
   public void noRescheduleOnSuccess() throws IOException {
     when(session.post(eq(remote), eq(content))).thenReturn(OK_RESULT);
     task.run();
-    verifyZeroInteractions(executor);
+    verifyNoInteractions(executor);
   }
 
   @Test
   public void noRescheduleOnNonRecoverableException() throws IOException {
     when(session.post(eq(remote), eq(content))).thenThrow(SSLException.class);
     task.run();
-    verifyZeroInteractions(executor);
+    verifyNoInteractions(executor);
   }
 
   @Test
