This is an automated email from the ASF dual-hosted git repository.

zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new f69c9ea92de Refactor Mockito verifications to use 'never()' instead of 
'times(0)' in test cases (#37156)
f69c9ea92de is described below

commit f69c9ea92de38cfe386a0708fb7e802c41c8b6f0
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Nov 22 10:43:32 2025 +0800

    Refactor Mockito verifications to use 'never()' instead of 'times(0)' in 
test cases (#37156)
---
 .../mysql/checker/MySQLDatabasePrivilegeCheckerTest.java |  4 ++--
 .../database/protocol/codec/PacketCodecTest.java         |  4 ++--
 .../command/query/PostgreSQLDataRowPacketTest.java       |  4 ++--
 .../sharding/auditor/ShardingSQLAuditorTest.java         |  6 +++---
 .../infra/checker/SupportedSQLCheckEngineTest.java       |  4 ++--
 .../infra/instance/ComputeNodeInstanceContextTest.java   |  4 ++--
 .../incremental/IncrementalTaskPositionManagerTest.java  |  8 ++++----
 .../data/pipeline/core/util/PipelineJdbcUtilsTest.java   |  6 +++---
 .../query/OpenGaussJDBCStreamQueryBuilderTest.java       |  4 ++--
 .../query/PostgreSQLJDBCStreamQueryBuilderTest.java      |  4 ++--
 .../executor/GlobalClockTransactionHookTest.java         | 16 ++++++++--------
 .../job/statistics/collect/StatisticsCollectJobTest.java |  4 ++--
 .../savepoint/ConnectionSavepointManagerTest.java        |  3 +--
 .../xa/jta/datasource/XATransactionDataSourceTest.java   |  5 +++--
 .../manager/DataSourceXAResourceRecoveryHelperTest.java  |  8 ++++----
 .../metadata/manager/DatabaseMetaDataManagerTest.java    | 12 ++++++------
 .../config/global/GlobalRulePersistServiceTest.java      |  4 ++--
 .../service/SchemaMetaDataPersistServiceTest.java        |  6 +++---
 .../persist/version/VersionPersistServiceTest.java       |  4 ++--
 .../NamedRuleItemConfigurationChangedHandlerTest.java    | 10 +++++-----
 .../UniqueRuleItemConfigurationChangedHandlerTest.java   | 10 +++++-----
 .../global/config/type/GlobalRuleChangedHandlerTest.java |  6 +++---
 .../global/config/type/PropertiesChangedHandlerTest.java |  4 ++--
 .../compute/type/ComputeNodeLabelChangedHandlerTest.java |  4 ++--
 .../node/compute/type/ComputeNodeOnlineHandlerTest.java  |  4 ++--
 .../compute/type/ComputeNodeStateChangedHandlerTest.java |  4 ++--
 .../type/ComputeNodeWorkerIdChangedHandlerTest.java      |  4 ++--
 .../global/node/process/KillProcessHandlerTest.java      |  6 +++---
 .../global/node/process/ShowProcessListHandlerTest.java  |  6 +++---
 .../node/statistics/StatisticsChangedHandlerTest.java    | 10 +++++-----
 .../storage/QualifiedDataSourceChangedHandlerTest.java   |  6 +++---
 .../global/state/DatabaseListenerChangedHandlerTest.java |  4 ++--
 .../type/DatabaseMetaDataChangedListenerTest.java        | 10 +++++-----
 .../process/ClusterProcessPersistCoordinatorTest.java    |  4 ++--
 .../ClusterMetaDataManagerPersistServiceTest.java        |  6 +++---
 .../service/ClusterProcessPersistServiceTest.java        |  6 +++---
 .../core/lock/type/DefaultDistributedLockTest.java       |  4 ++--
 .../cluster/zookeeper/ZookeeperRepositoryTest.java       |  4 ++--
 .../listener/SessionConnectionReconnectListenerTest.java |  6 +++---
 .../StandaloneMetaDataManagerPersistServiceTest.java     |  8 ++++----
 .../repository/standalone/jdbc/JDBCRepositoryTest.java   |  9 +++++----
 .../transaction/ProxyBackendTransactionManagerTest.java  | 15 ++++++++-------
 .../type/DropDatabaseProxyBackendHandlerTest.java        |  8 ++++----
 43 files changed, 135 insertions(+), 133 deletions(-)

diff --git 
a/database/connector/dialect/mysql/src/test/java/org/apache/shardingsphere/database/connector/mysql/checker/MySQLDatabasePrivilegeCheckerTest.java
 
b/database/connector/dialect/mysql/src/test/java/org/apache/shardingsphere/database/connector/mysql/checker/MySQLDatabasePrivilegeCheckerTest.java
index 9e324b678cd..f0c9eaceb28 100644
--- 
a/database/connector/dialect/mysql/src/test/java/org/apache/shardingsphere/database/connector/mysql/checker/MySQLDatabasePrivilegeCheckerTest.java
+++ 
b/database/connector/dialect/mysql/src/test/java/org/apache/shardingsphere/database/connector/mysql/checker/MySQLDatabasePrivilegeCheckerTest.java
@@ -34,7 +34,7 @@ import java.sql.SQLException;
 
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -100,7 +100,7 @@ class MySQLDatabasePrivilegeCheckerTest {
     void assertUnCheckXAPrivilegeInMySQL5() throws SQLException {
         
when(dataSource.getConnection().getMetaData().getDatabaseMajorVersion()).thenReturn(5);
         new MySQLDatabasePrivilegeChecker().check(dataSource, 
PrivilegeCheckType.XA);
-        verify(preparedStatement, times(0)).executeQuery();
+        verify(preparedStatement, never()).executeQuery();
     }
     
     @Test
diff --git 
a/database/protocol/core/src/test/java/org/apache/shardingsphere/database/protocol/codec/PacketCodecTest.java
 
b/database/protocol/core/src/test/java/org/apache/shardingsphere/database/protocol/codec/PacketCodecTest.java
index 944f236d065..bcca4f7fb59 100644
--- 
a/database/protocol/core/src/test/java/org/apache/shardingsphere/database/protocol/codec/PacketCodecTest.java
+++ 
b/database/protocol/core/src/test/java/org/apache/shardingsphere/database/protocol/codec/PacketCodecTest.java
@@ -29,7 +29,7 @@ import org.mockito.junit.jupiter.MockitoExtension;
 import java.util.Collections;
 
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -65,7 +65,7 @@ class PacketCodecTest {
         when(byteBuf.readableBytes()).thenReturn(1);
         when(databasePacketCodecEngine.isValidHeader(1)).thenReturn(false);
         packetCodec.decode(context, byteBuf, Collections.emptyList());
-        verify(databasePacketCodecEngine, times(0)).decode(context, byteBuf, 
Collections.emptyList());
+        verify(databasePacketCodecEngine, never()).decode(context, byteBuf, 
Collections.emptyList());
     }
     
     @Test
diff --git 
a/database/protocol/dialect/postgresql/src/test/java/org/apache/shardingsphere/database/protocol/postgresql/packet/command/query/PostgreSQLDataRowPacketTest.java
 
b/database/protocol/dialect/postgresql/src/test/java/org/apache/shardingsphere/database/protocol/postgresql/packet/command/query/PostgreSQLDataRowPacketTest.java
index ba706417905..1ba3630b26f 100644
--- 
a/database/protocol/dialect/postgresql/src/test/java/org/apache/shardingsphere/database/protocol/postgresql/packet/command/query/PostgreSQLDataRowPacketTest.java
+++ 
b/database/protocol/dialect/postgresql/src/test/java/org/apache/shardingsphere/database/protocol/postgresql/packet/command/query/PostgreSQLDataRowPacketTest.java
@@ -38,7 +38,7 @@ import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -97,7 +97,7 @@ class PostgreSQLDataRowPacketTest {
         when(sqlxml.getString()).thenThrow(new SQLException("mock"));
         PostgreSQLDataRowPacket actual = new 
PostgreSQLDataRowPacket(Collections.singleton(sqlxml));
         assertThrows(RuntimeException.class, () -> actual.write(payload));
-        verify(payload, times(0)).writeStringEOF(any());
+        verify(payload, never()).writeStringEOF(any());
     }
     
     @Test
diff --git 
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditorTest.java
 
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditorTest.java
index 1a64398f23b..2fcbbe6863c 100644
--- 
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditorTest.java
+++ 
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/auditor/ShardingSQLAuditorTest.java
@@ -50,7 +50,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -98,7 +98,7 @@ class ShardingSQLAuditorTest {
         
when(queryContext.getSqlStatementContext()).thenReturn(sqlStatementContext);
         
when(queryContext.getMetaData().getGlobalRuleMetaData()).thenReturn(globalRuleMetaData);
         sqlAuditor.audit(queryContext, database, rule);
-        verify(queryContext, times(0)).getHintValueContext();
+        verify(queryContext, never()).getHintValueContext();
     }
     
     @Test
@@ -108,7 +108,7 @@ class ShardingSQLAuditorTest {
         when(metaData.getGlobalRuleMetaData()).thenReturn(globalRuleMetaData);
         QueryContext queryContext = new QueryContext(sqlStatementContext, "", 
Collections.emptyList(), hintValueContext, mock(ConnectionContext.class), 
metaData);
         sqlAuditor.audit(queryContext, database, rule);
-        verify(rule.getAuditors().get("foo_auditor"), 
times(0)).check(sqlStatementContext, Collections.emptyList(), 
globalRuleMetaData, database);
+        verify(rule.getAuditors().get("foo_auditor"), 
never()).check(sqlStatementContext, Collections.emptyList(), 
globalRuleMetaData, database);
     }
     
     @Test
diff --git 
a/infra/checker/src/test/java/org/apache/shardingsphere/infra/checker/SupportedSQLCheckEngineTest.java
 
b/infra/checker/src/test/java/org/apache/shardingsphere/infra/checker/SupportedSQLCheckEngineTest.java
index efa2d52bd83..24d3be5a0fd 100644
--- 
a/infra/checker/src/test/java/org/apache/shardingsphere/infra/checker/SupportedSQLCheckEngineTest.java
+++ 
b/infra/checker/src/test/java/org/apache/shardingsphere/infra/checker/SupportedSQLCheckEngineTest.java
@@ -36,7 +36,7 @@ import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -62,6 +62,6 @@ class SupportedSQLCheckEngineTest {
         ShardingSphereDatabase database = mock(ShardingSphereDatabase.class);
         new SupportedSQLCheckEngine().checkSQL(Collections.singleton(rule), 
sqlStatementContext, database);
         verify(supportedSQLChecker).check(eq(rule), eq(database), any(), 
eq(sqlStatementContext));
-        verify(unsupportedSQLChecker, times(0)).check(eq(rule), eq(database), 
any(), eq(sqlStatementContext));
+        verify(unsupportedSQLChecker, never()).check(eq(rule), eq(database), 
any(), eq(sqlStatementContext));
     }
 }
diff --git 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/instance/ComputeNodeInstanceContextTest.java
 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/instance/ComputeNodeInstanceContextTest.java
index 24138d3c2c0..4e84a5f821a 100644
--- 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/instance/ComputeNodeInstanceContextTest.java
+++ 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/instance/ComputeNodeInstanceContextTest.java
@@ -32,7 +32,7 @@ import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 
 class ComputeNodeInstanceContextTest {
@@ -52,7 +52,7 @@ class ComputeNodeInstanceContextTest {
         ComputeNodeInstanceContext instanceContext = new 
ComputeNodeInstanceContext(new ComputeNodeInstance(instanceMetaData), 
mock(ModeConfiguration.class), new EventBusContext());
         instanceContext.init(mock(WorkerIdGenerator.class));
         instanceContext.updateStatus("id", "INVALID");
-        verify(instanceMetaData, times(0)).getId();
+        verify(instanceMetaData, never()).getId();
     }
     
     @Test
diff --git 
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/preparer/incremental/IncrementalTaskPositionManagerTest.java
 
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/preparer/incremental/IncrementalTaskPositionManagerTest.java
index cd38444f27c..e688a25c89a 100644
--- 
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/preparer/incremental/IncrementalTaskPositionManagerTest.java
+++ 
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/preparer/incremental/IncrementalTaskPositionManagerTest.java
@@ -49,7 +49,7 @@ import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -113,7 +113,7 @@ class IncrementalTaskPositionManagerTest {
     @Test
     void 
assertDestroyPositionWithShardingSpherePipelineDataSourceConfiguration() throws 
SQLException {
         YamlRootConfiguration rootConfig = new YamlRootConfiguration();
-        Map<String, Object> dataSourceProps = new HashMap<>();
+        Map<String, Object> dataSourceProps = new HashMap<>(2, 1F);
         dataSourceProps.put("dataSourceClassName", 
MockedDataSource.class.getName());
         dataSourceProps.put("url", "jdbc:mock://127.0.0.1/foo_ds");
         rootConfig.getDataSources().put("foo_ds", dataSourceProps);
@@ -124,7 +124,7 @@ class IncrementalTaskPositionManagerTest {
     
     @Test
     void assertDestroyPositionWithStandardPipelineDataSourceConfiguration() 
throws SQLException {
-        Map<String, Object> dataSourceProps = new HashMap<>();
+        Map<String, Object> dataSourceProps = new HashMap<>(2, 1F);
         dataSourceProps.put("dataSourceClassName", 
MockedDataSource.class.getName());
         dataSourceProps.put("url", "jdbc:mock://127.0.0.1/foo_ds");
         StandardPipelineDataSourceConfiguration pipelineDataSourceConfig = new 
StandardPipelineDataSourceConfiguration(dataSourceProps);
@@ -135,6 +135,6 @@ class IncrementalTaskPositionManagerTest {
     @Test
     void assertDestroyPositionWithUnknownPipelineDataSourceConfiguration() 
throws SQLException {
         incrementalTaskPositionManager.destroyPosition("foo_job", 
mock(PipelineDataSourceConfiguration.class));
-        verify(dialectPositionManager, times(0)).destroy(any(), eq("foo_job"));
+        verify(dialectPositionManager, never()).destroy(any(), eq("foo_job"));
     }
 }
diff --git 
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/util/PipelineJdbcUtilsTest.java
 
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/util/PipelineJdbcUtilsTest.java
index 9e14a38b169..c02256d356f 100644
--- 
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/util/PipelineJdbcUtilsTest.java
+++ 
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/util/PipelineJdbcUtilsTest.java
@@ -23,7 +23,7 @@ import java.sql.SQLException;
 import java.sql.Statement;
 
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -34,7 +34,7 @@ class PipelineJdbcUtilsTest {
         Statement statement = mock(Statement.class);
         when(statement.isClosed()).thenReturn(true);
         PipelineJdbcUtils.cancelStatement(statement);
-        verify(statement, times(0)).cancel();
+        verify(statement, never()).cancel();
     }
     
     @Test
@@ -49,6 +49,6 @@ class PipelineJdbcUtilsTest {
         Statement statement = mock(Statement.class);
         when(statement.isClosed()).thenThrow(SQLException.class);
         PipelineJdbcUtils.cancelStatement(statement);
-        verify(statement, times(0)).cancel();
+        verify(statement, never()).cancel();
     }
 }
diff --git 
a/kernel/data-pipeline/dialect/opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/query/OpenGaussJDBCStreamQueryBuilderTest.java
 
b/kernel/data-pipeline/dialect/opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/query/OpenGaussJDBCStreamQueryBuilderTest.java
index cff9297f9b9..5e4274a9dd9 100644
--- 
a/kernel/data-pipeline/dialect/opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/query/OpenGaussJDBCStreamQueryBuilderTest.java
+++ 
b/kernel/data-pipeline/dialect/opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/query/OpenGaussJDBCStreamQueryBuilderTest.java
@@ -32,7 +32,7 @@ import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -59,6 +59,6 @@ class OpenGaussJDBCStreamQueryBuilderTest {
         when(connection.prepareStatement("SELECT 1", 
ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY, 
ResultSet.CLOSE_CURSORS_AT_COMMIT)).thenReturn(preparedStatement);
         assertThat(queryBuilder.build(connection, "SELECT 1", 0), 
is(preparedStatement));
         verify(connection).setAutoCommit(false);
-        verify(preparedStatement, times(0)).setFetchSize(anyInt());
+        verify(preparedStatement, never()).setFetchSize(anyInt());
     }
 }
diff --git 
a/kernel/data-pipeline/dialect/postgresql/src/test/java/org/apache/shardingsphere/data/pipeline/postgresql/query/PostgreSQLJDBCStreamQueryBuilderTest.java
 
b/kernel/data-pipeline/dialect/postgresql/src/test/java/org/apache/shardingsphere/data/pipeline/postgresql/query/PostgreSQLJDBCStreamQueryBuilderTest.java
index 5609db0f80b..08e351cf46e 100644
--- 
a/kernel/data-pipeline/dialect/postgresql/src/test/java/org/apache/shardingsphere/data/pipeline/postgresql/query/PostgreSQLJDBCStreamQueryBuilderTest.java
+++ 
b/kernel/data-pipeline/dialect/postgresql/src/test/java/org/apache/shardingsphere/data/pipeline/postgresql/query/PostgreSQLJDBCStreamQueryBuilderTest.java
@@ -32,7 +32,7 @@ import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -59,6 +59,6 @@ class PostgreSQLJDBCStreamQueryBuilderTest {
         when(connection.prepareStatement("SELECT 1", 
ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY, 
ResultSet.CLOSE_CURSORS_AT_COMMIT)).thenReturn(preparedStatement);
         assertThat(queryBuilder.build(connection, "SELECT 1", 0), 
is(preparedStatement));
         verify(connection).setAutoCommit(false);
-        verify(preparedStatement, times(0)).setFetchSize(anyInt());
+        verify(preparedStatement, never()).setFetchSize(anyInt());
     }
 }
diff --git 
a/kernel/global-clock/core/src/test/java/org/apache/shardingsphere/globalclock/executor/GlobalClockTransactionHookTest.java
 
b/kernel/global-clock/core/src/test/java/org/apache/shardingsphere/globalclock/executor/GlobalClockTransactionHookTest.java
index 6f81f36bffe..8487983b1db 100644
--- 
a/kernel/global-clock/core/src/test/java/org/apache/shardingsphere/globalclock/executor/GlobalClockTransactionHookTest.java
+++ 
b/kernel/global-clock/core/src/test/java/org/apache/shardingsphere/globalclock/executor/GlobalClockTransactionHookTest.java
@@ -40,7 +40,7 @@ import java.util.Optional;
 import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyLong;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -78,7 +78,7 @@ class GlobalClockTransactionHookTest {
     @Test
     void assertAfterBeginWhenGlobalClockProviderAbsent() {
         transactionHook.afterBegin(rule, databaseType, transactionContext);
-        verify(transactionContext, times(0)).setBeginMillis(anyLong());
+        verify(transactionContext, never()).setBeginMillis(anyLong());
     }
     
     @Test
@@ -92,7 +92,7 @@ class GlobalClockTransactionHookTest {
     @Test
     void assertAfterCreateConnectionsWhenDisabledGlobalClockRule() throws 
SQLException {
         transactionHook.afterCreateConnections(rule, databaseType, 
Collections.emptyList(), transactionContext);
-        verify(globalClockTransactionExecutor, 
times(0)).sendSnapshotTimestamp(any(), anyLong());
+        verify(globalClockTransactionExecutor, 
never()).sendSnapshotTimestamp(any(), anyLong());
     }
     
     @Test
@@ -100,7 +100,7 @@ class GlobalClockTransactionHookTest {
         
when(DatabaseTypedSPILoader.findService(GlobalClockTransactionExecutor.class, 
databaseType)).thenReturn(Optional.empty());
         when(rule.getConfiguration().isEnabled()).thenReturn(true);
         transactionHook.afterCreateConnections(rule, databaseType, 
Collections.emptyList(), transactionContext);
-        verify(globalClockTransactionExecutor, 
times(0)).sendSnapshotTimestamp(any(), anyLong());
+        verify(globalClockTransactionExecutor, 
never()).sendSnapshotTimestamp(any(), anyLong());
     }
     
     @Test
@@ -114,14 +114,14 @@ class GlobalClockTransactionHookTest {
     @Test
     void assertBeforeExecuteSQLWhenDisabledGlobalClockRule() throws 
SQLException {
         transactionHook.beforeExecuteSQL(rule, databaseType, 
Collections.emptyList(), transactionContext, 
TransactionIsolationLevel.READ_COMMITTED);
-        verify(rule, times(0)).getGlobalClockProvider();
+        verify(rule, never()).getGlobalClockProvider();
     }
     
     @Test
     void assertBeforeExecuteSQLWhenNotReadCommittedIsolationLevel() throws 
SQLException {
         when(rule.getConfiguration().isEnabled()).thenReturn(true);
         transactionHook.beforeExecuteSQL(rule, databaseType, 
Collections.emptyList(), transactionContext, 
TransactionIsolationLevel.REPEATABLE_READ);
-        verify(rule, times(0)).getGlobalClockProvider();
+        verify(rule, never()).getGlobalClockProvider();
     }
     
     @Test
@@ -130,7 +130,7 @@ class GlobalClockTransactionHookTest {
         
when(rule.getGlobalClockProvider()).thenReturn(Optional.of(globalClockProvider));
         transactionHook.beforeExecuteSQL(rule, databaseType, 
Collections.emptyList(), transactionContext, 
TransactionIsolationLevel.READ_COMMITTED);
         
when(DatabaseTypedSPILoader.findService(GlobalClockTransactionExecutor.class, 
databaseType)).thenReturn(Optional.empty());
-        verify(globalClockTransactionExecutor, 
times(0)).sendSnapshotTimestamp(any(), anyLong());
+        verify(globalClockTransactionExecutor, 
never()).sendSnapshotTimestamp(any(), anyLong());
     }
     
     @Test
@@ -156,7 +156,7 @@ class GlobalClockTransactionHookTest {
     @Test
     void assertAfterCommitWhenGlobalClockProviderAbsent() {
         transactionHook.afterCommit(rule, databaseType, 
Collections.emptyList(), transactionContext);
-        verify(globalClockProvider, times(0)).getNextTimestamp();
+        verify(globalClockProvider, never()).getNextTimestamp();
     }
     
     @Test
diff --git 
a/kernel/schedule/core/src/test/java/org/apache/shardingsphere/schedule/core/job/statistics/collect/StatisticsCollectJobTest.java
 
b/kernel/schedule/core/src/test/java/org/apache/shardingsphere/schedule/core/job/statistics/collect/StatisticsCollectJobTest.java
index c782e23f520..44d51a65c44 100644
--- 
a/kernel/schedule/core/src/test/java/org/apache/shardingsphere/schedule/core/job/statistics/collect/StatisticsCollectJobTest.java
+++ 
b/kernel/schedule/core/src/test/java/org/apache/shardingsphere/schedule/core/job/statistics/collect/StatisticsCollectJobTest.java
@@ -26,7 +26,7 @@ import org.mockito.Answers;
 import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
 
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -46,7 +46,7 @@ class StatisticsCollectJobTest {
     @Test
     void assertExecuteWithStandaloneMode() {
         job.execute(null);
-        
verify(contextManager.getMetaDataContexts().getMetaData().getTemporaryProps(), 
times(0)).getValue(TemporaryConfigurationPropertyKey.PROXY_META_DATA_COLLECTOR_ENABLED);
+        
verify(contextManager.getMetaDataContexts().getMetaData().getTemporaryProps(), 
never()).getValue(TemporaryConfigurationPropertyKey.PROXY_META_DATA_COLLECTOR_ENABLED);
     }
     
     @Test
diff --git 
a/kernel/transaction/core/src/test/java/org/apache/shardingsphere/transaction/savepoint/ConnectionSavepointManagerTest.java
 
b/kernel/transaction/core/src/test/java/org/apache/shardingsphere/transaction/savepoint/ConnectionSavepointManagerTest.java
index 0892ec61dc1..a928a3d7721 100644
--- 
a/kernel/transaction/core/src/test/java/org/apache/shardingsphere/transaction/savepoint/ConnectionSavepointManagerTest.java
+++ 
b/kernel/transaction/core/src/test/java/org/apache/shardingsphere/transaction/savepoint/ConnectionSavepointManagerTest.java
@@ -34,7 +34,6 @@ import java.sql.Statement;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -71,7 +70,7 @@ class ConnectionSavepointManagerTest {
     @Test
     void assertRollbackWithoutSavepoint() throws SQLException {
         
ConnectionSavepointManager.getInstance().rollbackToSavepoint(connection, 
SAVE_POINT);
-        verify(connection, times(0)).rollback(savepoint);
+        verify(connection, never()).rollback(savepoint);
     }
     
     @Test
diff --git 
a/kernel/transaction/type/xa/core/src/test/java/org/apache/shardingsphere/transaction/xa/jta/datasource/XATransactionDataSourceTest.java
 
b/kernel/transaction/type/xa/core/src/test/java/org/apache/shardingsphere/transaction/xa/jta/datasource/XATransactionDataSourceTest.java
index 0054037b4f2..e9abe270f64 100644
--- 
a/kernel/transaction/type/xa/core/src/test/java/org/apache/shardingsphere/transaction/xa/jta/datasource/XATransactionDataSourceTest.java
+++ 
b/kernel/transaction/type/xa/core/src/test/java/org/apache/shardingsphere/transaction/xa/jta/datasource/XATransactionDataSourceTest.java
@@ -44,6 +44,7 @@ import java.sql.SQLException;
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -72,7 +73,7 @@ class XATransactionDataSourceTest {
         DataSource dataSource = 
DataSourceUtils.build(AtomikosDataSourceBean.class, 
TypedSPILoader.getService(DatabaseType.class, "H2"), "ds1");
         XATransactionDataSource transactionDataSource = new 
XATransactionDataSource(TypedSPILoader.getService(DatabaseType.class, "H2"), 
"ds1", dataSource, xaTransactionManagerProvider);
         try (Connection ignored = transactionDataSource.getConnection()) {
-            verify(xaTransactionManagerProvider, 
times(0)).getTransactionManager();
+            verify(xaTransactionManagerProvider, 
never()).getTransactionManager();
         }
     }
     
@@ -95,7 +96,7 @@ class XATransactionDataSourceTest {
         DataSource dataSource = 
DataSourceUtils.build(AtomikosDataSourceBean.class, 
TypedSPILoader.getService(DatabaseType.class, "H2"), "ds11");
         XATransactionDataSource transactionDataSource = new 
XATransactionDataSource(TypedSPILoader.getService(DatabaseType.class, "H2"), 
"ds11", dataSource, xaTransactionManagerProvider);
         transactionDataSource.close();
-        verify(xaTransactionManagerProvider, 
times(0)).removeRecoveryResource(anyString(), any(XADataSource.class));
+        verify(xaTransactionManagerProvider, 
never()).removeRecoveryResource(anyString(), any(XADataSource.class));
     }
     
     @Test
diff --git 
a/kernel/transaction/type/xa/provider/narayana/src/test/java/org/apache/shardingsphere/transaction/xa/narayana/manager/DataSourceXAResourceRecoveryHelperTest.java
 
b/kernel/transaction/type/xa/provider/narayana/src/test/java/org/apache/shardingsphere/transaction/xa/narayana/manager/DataSourceXAResourceRecoveryHelperTest.java
index 3255c69ec3d..f66b3520ce5 100644
--- 
a/kernel/transaction/type/xa/provider/narayana/src/test/java/org/apache/shardingsphere/transaction/xa/narayana/manager/DataSourceXAResourceRecoveryHelperTest.java
+++ 
b/kernel/transaction/type/xa/provider/narayana/src/test/java/org/apache/shardingsphere/transaction/xa/narayana/manager/DataSourceXAResourceRecoveryHelperTest.java
@@ -35,7 +35,7 @@ import java.sql.SQLException;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.CoreMatchers.sameInstance;
 import static org.hamcrest.MatcherAssert.assertThat;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -78,8 +78,8 @@ class DataSourceXAResourceRecoveryHelperTest {
         XAResource[] xaResources = recoveryHelper.getXAResources();
         assertThat(xaResources.length, is(1));
         assertThat(xaResources[0], sameInstance(recoveryHelper));
-        verify(xaConnection, times(0)).getXAResource();
-        verify(xaDataSource, times(0)).getXAConnection();
+        verify(xaConnection, never()).getXAResource();
+        verify(xaDataSource, never()).getXAConnection();
     }
     
     @Test
@@ -87,7 +87,7 @@ class DataSourceXAResourceRecoveryHelperTest {
         recoveryHelper.getXAResources();
         recoveryHelper.recover(XAResource.TMSTARTRSCAN);
         verify(xaResource).recover(XAResource.TMSTARTRSCAN);
-        verify(xaConnection, times(0)).close();
+        verify(xaConnection, never()).close();
     }
     
     @Test
diff --git 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/manager/DatabaseMetaDataManagerTest.java
 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/manager/DatabaseMetaDataManagerTest.java
index 21c29dea498..62188b5cf6d 100644
--- 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/manager/DatabaseMetaDataManagerTest.java
+++ 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/manager/DatabaseMetaDataManagerTest.java
@@ -49,7 +49,7 @@ import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -89,7 +89,7 @@ class DatabaseMetaDataManagerTest {
     void assertAddExistedDatabase() {
         
when(metaDataContexts.getMetaData().containsDatabase("foo_db")).thenReturn(true);
         databaseMetaDataManager.addDatabase("foo_db");
-        verify(metaDataContexts.getMetaData(), 
times(0)).addDatabase(eq("foo_db"), any(DatabaseType.class), 
any(ConfigurationProperties.class));
+        verify(metaDataContexts.getMetaData(), 
never()).addDatabase(eq("foo_db"), any(DatabaseType.class), 
any(ConfigurationProperties.class));
     }
     
     @Test
@@ -103,7 +103,7 @@ class DatabaseMetaDataManagerTest {
     @Test
     void assertDropNotExistedDatabase() {
         databaseMetaDataManager.dropDatabase("not_existed_db");
-        verify(metaDataContexts.getMetaData(), 
times(0)).dropDatabase("not_existed_db");
+        verify(metaDataContexts.getMetaData(), 
never()).dropDatabase("not_existed_db");
     }
     
     @Test
@@ -116,13 +116,13 @@ class DatabaseMetaDataManagerTest {
     void assertAddExistedSchema() {
         
when(metaDataContexts.getMetaData().getDatabase("foo_db").containsSchema("foo_schema")).thenReturn(true);
         databaseMetaDataManager.addSchema("foo_db", "foo_schema");
-        verify(metaDataContexts.getMetaData().getDatabase("foo_db"), 
times(0)).addSchema(any(ShardingSphereSchema.class));
+        verify(metaDataContexts.getMetaData().getDatabase("foo_db"), 
never()).addSchema(any(ShardingSphereSchema.class));
     }
     
     @Test
     void assertDropNotExistedSchema() {
         databaseMetaDataManager.dropSchema("foo_db", "bar_schema");
-        verify(metaDataContexts.getMetaData().getDatabase("foo_db"), 
times(0)).dropSchema(anyString());
+        verify(metaDataContexts.getMetaData().getDatabase("foo_db"), 
never()).dropSchema(anyString());
     }
     
     @Test
@@ -137,7 +137,7 @@ class DatabaseMetaDataManagerTest {
         
when(metaDataContexts.getMetaData().getDatabase("foo_db").getAllSchemas()).thenReturn(Collections.singleton(toBeAlteredSchema));
         
when(metaDataContexts.getMetaData().getDatabase("foo_db").getSchema("foo_schema")).thenReturn(toBeAlteredSchema);
         databaseMetaDataManager.alterTable("foo_db", "bar_schema", mock());
-        verify(metaDataContexts.getMetaData().getDatabase("foo_db"), 
times(0)).getSchema(any());
+        verify(metaDataContexts.getMetaData().getDatabase("foo_db"), 
never()).getSchema(any());
     }
     
     @Test
diff --git 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/config/global/GlobalRulePersistServiceTest.java
 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/config/global/GlobalRulePersistServiceTest.java
index 2e49b33e841..37172d3a3d8 100644
--- 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/config/global/GlobalRulePersistServiceTest.java
+++ 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/config/global/GlobalRulePersistServiceTest.java
@@ -34,7 +34,7 @@ import java.util.List;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -79,7 +79,7 @@ class GlobalRulePersistServiceTest {
         
when(repository.getChildrenKeys("/rules/global_fixture/versions")).thenReturn(Collections.singletonList("10"));
         globalRulePersistService.persist(Collections.singleton(new 
MockedGlobalRuleConfiguration("foo_value")));
         verify(repository).persist("/rules/global_fixture/versions/11", "name: 
foo_value" + System.lineSeparator());
-        verify(repository, 
times(0)).persist("/rules/global_fixture/active_version", "0");
+        verify(repository, 
never()).persist("/rules/global_fixture/active_version", "0");
     }
     
     @Test
diff --git 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/SchemaMetaDataPersistServiceTest.java
 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/SchemaMetaDataPersistServiceTest.java
index 3986a7cd151..a125f5ef1fb 100644
--- 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/SchemaMetaDataPersistServiceTest.java
+++ 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/metadata/service/SchemaMetaDataPersistServiceTest.java
@@ -33,7 +33,7 @@ import java.util.Collections;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -80,7 +80,7 @@ class SchemaMetaDataPersistServiceTest {
         ShardingSphereTable table = mock(ShardingSphereTable.class);
         when(table.getName()).thenReturn("foo_tbl");
         persistService.alterByRefresh("foo_db", new 
ShardingSphereSchema("foo_schema", Collections.singleton(table), 
Collections.emptyList()));
-        verify(repository, 
times(0)).persist("/metadata/foo_db/schemas/foo_schema/tables", "");
+        verify(repository, 
never()).persist("/metadata/foo_db/schemas/foo_schema/tables", "");
         verify(tableMetaDataPersistService).persist("foo_db", "foo_schema", 
Collections.singletonList(table));
     }
     
@@ -89,7 +89,7 @@ class SchemaMetaDataPersistServiceTest {
         ShardingSphereView view = mock(ShardingSphereView.class);
         when(view.getName()).thenReturn("foo_view");
         persistService.alterByRefresh("foo_db", new 
ShardingSphereSchema("foo_schema", Collections.emptyList(), 
Collections.singleton(view)));
-        verify(repository, 
times(0)).persist("/metadata/foo_db/schemas/foo_schema/tables", "");
+        verify(repository, 
never()).persist("/metadata/foo_db/schemas/foo_schema/tables", "");
         verify(tableMetaDataPersistService).persist("foo_db", "foo_schema", 
Collections.emptyList());
     }
     
diff --git 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/version/VersionPersistServiceTest.java
 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/version/VersionPersistServiceTest.java
index 8b25281fe78..e3a006f07c2 100644
--- 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/version/VersionPersistServiceTest.java
+++ 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/version/VersionPersistServiceTest.java
@@ -32,7 +32,7 @@ import java.util.Arrays;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -54,7 +54,7 @@ class VersionPersistServiceTest {
         assertThat(persistService.persist(new VersionNodePath(new 
MetaDataVersionNodePathFixture()), "foo_metadata"), is(0));
         verify(repository).persist("/foo/versions/0", "foo_metadata");
         verify(repository).persist("/foo/active_version", "0");
-        verify(repository, times(0)).delete(any());
+        verify(repository, never()).delete(any());
     }
     
     @Test
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/rule/type/NamedRuleItemConfigurationChangedHandlerTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/rule/type/NamedRuleItemConfigurationChangedHandlerTest.java
index f06a927a2af..65cd93684c7 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/rule/type/NamedRuleItemConfigurationChangedHandlerTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/rule/type/NamedRuleItemConfigurationChangedHandlerTest.java
@@ -31,7 +31,7 @@ import org.mockito.junit.jupiter.MockitoExtension;
 
 import static 
org.apache.shardingsphere.test.infra.framework.matcher.ShardingSphereArgumentVerifyMatchers.deepEq;
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 
 @ExtendWith(MockitoExtension.class)
@@ -50,15 +50,15 @@ class NamedRuleItemConfigurationChangedHandlerTest {
     @Test
     void assertHandleWithInvalidPath() {
         handler.handle("foo_db", new 
DataChangedEvent("/metadata/foo_db/rules/fixture", "0", Type.ADDED));
-        
verify(contextManager.getMetaDataContextManager().getDatabaseRuleItemManager(), 
times(0)).alter(any());
-        
verify(contextManager.getMetaDataContextManager().getDatabaseRuleItemManager(), 
times(0)).drop(any());
+        
verify(contextManager.getMetaDataContextManager().getDatabaseRuleItemManager(), 
never()).alter(any());
+        
verify(contextManager.getMetaDataContextManager().getDatabaseRuleItemManager(), 
never()).drop(any());
     }
     
     @Test
     void assertHandleWithIgnoreType() {
         handler.handle("foo_db", new 
DataChangedEvent("/metadata/foo_db/rules/fixture/named/foo_rule_item/active_version",
 "0", Type.IGNORED));
-        
verify(contextManager.getMetaDataContextManager().getDatabaseRuleItemManager(), 
times(0)).alter(any());
-        
verify(contextManager.getMetaDataContextManager().getDatabaseRuleItemManager(), 
times(0)).drop(any());
+        
verify(contextManager.getMetaDataContextManager().getDatabaseRuleItemManager(), 
never()).alter(any());
+        
verify(contextManager.getMetaDataContextManager().getDatabaseRuleItemManager(), 
never()).drop(any());
     }
     
     @Test
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/rule/type/UniqueRuleItemConfigurationChangedHandlerTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/rule/type/UniqueRuleItemConfigurationChangedHandlerTest.java
index b94b193ba65..8660efc4497 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/rule/type/UniqueRuleItemConfigurationChangedHandlerTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/database/rule/type/UniqueRuleItemConfigurationChangedHandlerTest.java
@@ -31,7 +31,7 @@ import org.mockito.junit.jupiter.MockitoExtension;
 
 import static 
org.apache.shardingsphere.test.infra.framework.matcher.ShardingSphereArgumentVerifyMatchers.deepEq;
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 
 @ExtendWith(MockitoExtension.class)
@@ -50,15 +50,15 @@ class UniqueRuleItemConfigurationChangedHandlerTest {
     @Test
     void assertHandleWithInvalidPath() {
         handler.handle("foo_db", new 
DataChangedEvent("/metadata/foo_db/rules/fixture", "foo", Type.ADDED));
-        
verify(contextManager.getMetaDataContextManager().getDatabaseRuleItemManager(), 
times(0)).alter(any());
-        
verify(contextManager.getMetaDataContextManager().getDatabaseRuleItemManager(), 
times(0)).drop(any());
+        
verify(contextManager.getMetaDataContextManager().getDatabaseRuleItemManager(), 
never()).alter(any());
+        
verify(contextManager.getMetaDataContextManager().getDatabaseRuleItemManager(), 
never()).drop(any());
     }
     
     @Test
     void assertHandleWithIgnoreType() {
         handler.handle("foo_db", new 
DataChangedEvent("/metadata/foo_db/rules/fixture/unique/active_version", "0", 
Type.IGNORED));
-        
verify(contextManager.getMetaDataContextManager().getDatabaseRuleItemManager(), 
times(0)).alter(any());
-        
verify(contextManager.getMetaDataContextManager().getDatabaseRuleItemManager(), 
times(0)).drop(any());
+        
verify(contextManager.getMetaDataContextManager().getDatabaseRuleItemManager(), 
never()).alter(any());
+        
verify(contextManager.getMetaDataContextManager().getDatabaseRuleItemManager(), 
never()).drop(any());
     }
     
     @Test
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/config/type/GlobalRuleChangedHandlerTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/config/type/GlobalRuleChangedHandlerTest.java
index d20b61378d6..af870fb5333 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/config/type/GlobalRuleChangedHandlerTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/config/type/GlobalRuleChangedHandlerTest.java
@@ -33,7 +33,7 @@ import org.mockito.junit.jupiter.MockitoExtension;
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -54,13 +54,13 @@ class GlobalRuleChangedHandlerTest {
     @Test
     void assertHandleWithInvalidEventKey() {
         handler.handle(contextManager, new 
DataChangedEvent("/rules/foo_rule/xxx", "rule_value", Type.ADDED));
-        
verify(contextManager.getPersistServiceFacade().getMetaDataFacade().getGlobalRuleService(),
 times(0)).load(any());
+        
verify(contextManager.getPersistServiceFacade().getMetaDataFacade().getGlobalRuleService(),
 never()).load(any());
     }
     
     @Test
     void assertHandleWithEmptyRuleName() {
         handler.handle(contextManager, new 
DataChangedEvent("/rules/foo_rule/active_version/foo", "rule_value", 
Type.ADDED));
-        
verify(contextManager.getPersistServiceFacade().getMetaDataFacade().getGlobalRuleService(),
 times(0)).load(any());
+        
verify(contextManager.getPersistServiceFacade().getMetaDataFacade().getGlobalRuleService(),
 never()).load(any());
     }
     
     @Test
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/config/type/PropertiesChangedHandlerTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/config/type/PropertiesChangedHandlerTest.java
index 5695c7a53a9..34d6f1ad0a4 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/config/type/PropertiesChangedHandlerTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/config/type/PropertiesChangedHandlerTest.java
@@ -33,7 +33,7 @@ import org.mockito.junit.jupiter.MockitoExtension;
 import java.util.Properties;
 
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -54,7 +54,7 @@ class PropertiesChangedHandlerTest {
     @Test
     void assertHandleWithInvalidEventKey() {
         handler.handle(contextManager, new DataChangedEvent("/props/xxx", 
"key=value", Type.ADDED));
-        
verify(contextManager.getPersistServiceFacade().getMetaDataFacade().getPropsService(),
 times(0)).load();
+        
verify(contextManager.getPersistServiceFacade().getMetaDataFacade().getPropsService(),
 never()).load();
     }
     
     @Test
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/compute/type/ComputeNodeLabelChangedHandlerTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/compute/type/ComputeNodeLabelChangedHandlerTest.java
index ef8df28b50e..7aa9178e215 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/compute/type/ComputeNodeLabelChangedHandlerTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/compute/type/ComputeNodeLabelChangedHandlerTest.java
@@ -32,7 +32,7 @@ import org.mockito.junit.jupiter.MockitoExtension;
 
 import java.util.Collections;
 
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 
 @ExtendWith(MockitoExtension.class)
@@ -52,7 +52,7 @@ class ComputeNodeLabelChangedHandlerTest {
     @Test
     void assertHandleWithEmptyInstanceId() {
         handler.handle(contextManager, new 
DataChangedEvent("/nodes/compute_nodes/labels", "", Type.ADDED));
-        verify(contextManager, times(0)).getComputeNodeInstanceContext();
+        verify(contextManager, never()).getComputeNodeInstanceContext();
     }
     
     @Test
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/compute/type/ComputeNodeOnlineHandlerTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/compute/type/ComputeNodeOnlineHandlerTest.java
index 9c68bf96d34..b55bf818f06 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/compute/type/ComputeNodeOnlineHandlerTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/compute/type/ComputeNodeOnlineHandlerTest.java
@@ -34,7 +34,7 @@ import org.mockito.junit.jupiter.MockitoExtension;
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -59,7 +59,7 @@ class ComputeNodeOnlineHandlerTest {
     @Test
     void assertHandleWithInvalidInstanceOnlinePath() {
         handler.handle(contextManager, new 
DataChangedEvent("/nodes/compute_nodes/online/foo", "{attribute: 
127.0.0.1@3307,version: 1}", Type.ADDED));
-        verify(contextManager.getComputeNodeInstanceContext(), 
times(0)).getClusterInstanceRegistry();
+        verify(contextManager.getComputeNodeInstanceContext(), 
never()).getClusterInstanceRegistry();
     }
     
     @Test
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/compute/type/ComputeNodeStateChangedHandlerTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/compute/type/ComputeNodeStateChangedHandlerTest.java
index 4f3090877b2..8a3fac7276c 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/compute/type/ComputeNodeStateChangedHandlerTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/compute/type/ComputeNodeStateChangedHandlerTest.java
@@ -30,7 +30,7 @@ import org.mockito.Answers;
 import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
 
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 
 @ExtendWith(MockitoExtension.class)
@@ -50,7 +50,7 @@ class ComputeNodeStateChangedHandlerTest {
     @Test
     void assertHandleWithEmptyInstanceId() {
         handler.handle(contextManager, new 
DataChangedEvent("/nodes/compute_nodes/status", "", Type.ADDED));
-        verify(contextManager, times(0)).getComputeNodeInstanceContext();
+        verify(contextManager, never()).getComputeNodeInstanceContext();
     }
     
     @Test
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/compute/type/ComputeNodeWorkerIdChangedHandlerTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/compute/type/ComputeNodeWorkerIdChangedHandlerTest.java
index ce6894d8b87..db62c3f693b 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/compute/type/ComputeNodeWorkerIdChangedHandlerTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/compute/type/ComputeNodeWorkerIdChangedHandlerTest.java
@@ -30,7 +30,7 @@ import org.mockito.Answers;
 import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
 
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 
 @ExtendWith(MockitoExtension.class)
@@ -50,7 +50,7 @@ class ComputeNodeWorkerIdChangedHandlerTest {
     @Test
     void assertHandleWithEmptyInstanceId() {
         handler.handle(contextManager, new 
DataChangedEvent("/nodes/compute_nodes/worker_id", "", Type.ADDED));
-        verify(contextManager, times(0)).getComputeNodeInstanceContext();
+        verify(contextManager, never()).getComputeNodeInstanceContext();
     }
     
     @Test
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/process/KillProcessHandlerTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/process/KillProcessHandlerTest.java
index 55c052f6420..d7cab91a741 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/process/KillProcessHandlerTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/process/KillProcessHandlerTest.java
@@ -35,7 +35,7 @@ import org.mockito.junit.jupiter.MockitoSettings;
 import org.mockito.quality.Strictness;
 
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -59,7 +59,7 @@ class KillProcessHandlerTest {
     @Test
     void assertHandleWithInvalidKillProcessListTriggerEventKey() {
         handler.handle(contextManager, new 
DataChangedEvent("/nodes/compute_nodes/kill_process_trigger/foo_instance_id", 
"", Type.DELETED));
-        verify(ProcessOperationLockRegistry.getInstance(), 
times(0)).notify(any());
+        verify(ProcessOperationLockRegistry.getInstance(), 
never()).notify(any());
     }
     
     @Test
@@ -71,7 +71,7 @@ class KillProcessHandlerTest {
     @Test
     void assertHandleKillLocalProcessWithNotCurrentInstance() {
         handler.handle(contextManager, new 
DataChangedEvent("/nodes/compute_nodes/kill_process_trigger/bar_instance_id:foo_pid",
 "", Type.ADDED));
-        verify(contextManager.getPersistServiceFacade().getRepository(), 
times(0)).delete(any());
+        verify(contextManager.getPersistServiceFacade().getRepository(), 
never()).delete(any());
     }
     
     @Test
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/process/ShowProcessListHandlerTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/process/ShowProcessListHandlerTest.java
index 0473d44a09e..e9f71fcb3ec 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/process/ShowProcessListHandlerTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/process/ShowProcessListHandlerTest.java
@@ -38,7 +38,7 @@ import org.mockito.quality.Strictness;
 import java.util.Collections;
 
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -62,13 +62,13 @@ class ShowProcessListHandlerTest {
     @Test
     void assertHandleWithInvalidShowProcessListTriggerEventKey() {
         handler.handle(contextManager, new 
DataChangedEvent("/nodes/compute_nodes/show_process_list_trigger/foo_instance_id",
 "", Type.DELETED));
-        verify(ProcessOperationLockRegistry.getInstance(), 
times(0)).notify(any());
+        verify(ProcessOperationLockRegistry.getInstance(), 
never()).notify(any());
     }
     
     @Test
     void assertHandleReportLocalProcessesWithNotCurrentInstance() {
         handler.handle(contextManager, new 
DataChangedEvent("/nodes/compute_nodes/show_process_list_trigger/bar_instance_id:foo_task_id",
 "", Type.ADDED));
-        verify(contextManager.getPersistServiceFacade().getRepository(), 
times(0)).delete(any());
+        verify(contextManager.getPersistServiceFacade().getRepository(), 
never()).delete(any());
     }
     
     @Test
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/statistics/StatisticsChangedHandlerTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/statistics/StatisticsChangedHandlerTest.java
index bbb258fa26f..672164a68d3 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/statistics/StatisticsChangedHandlerTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/statistics/StatisticsChangedHandlerTest.java
@@ -34,7 +34,7 @@ import org.mockito.junit.jupiter.MockitoExtension;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.ArgumentMatchers.refEq;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 
 @ExtendWith(MockitoExtension.class)
@@ -104,24 +104,24 @@ class StatisticsChangedHandlerTest {
     @Test
     void assertHandleWithMissedDatabaseNameEventKey() {
         handler.handle(contextManager, new 
DataChangedEvent("/statistics/databases", "=", Type.ADDED));
-        
verify(contextManager.getMetaDataContextManager().getStatisticsManager(), 
times(0)).addDatabaseStatistics(any());
+        
verify(contextManager.getMetaDataContextManager().getStatisticsManager(), 
never()).addDatabaseStatistics(any());
     }
     
     @Test
     void assertHandleWithMissedSchemaNameEventKey() {
         handler.handle(contextManager, new 
DataChangedEvent("/statistics/databases/foo_db/schemas", "=", Type.ADDED));
-        
verify(contextManager.getMetaDataContextManager().getStatisticsManager(), 
times(0)).addSchemaStatistics(any(), any());
+        
verify(contextManager.getMetaDataContextManager().getStatisticsManager(), 
never()).addSchemaStatistics(any(), any());
     }
     
     @Test
     void assertHandleWithMissedTableNameEventKey() {
         handler.handle(contextManager, new 
DataChangedEvent("/statistics/databases/foo_db/schemas/foo_schema/tables", "", 
Type.ADDED));
-        
verify(contextManager.getMetaDataContextManager().getStatisticsManager(), 
times(0)).addTableStatistics(any(), any(), any());
+        
verify(contextManager.getMetaDataContextManager().getStatisticsManager(), 
never()).addTableStatistics(any(), any(), any());
     }
     
     @Test
     void assertHandleWithMissedRowEventKey() {
         handler.handle(contextManager, new 
DataChangedEvent("/statistics/databases/foo_db/schemas/foo_schema/tables/foo_tbl/",
 "", Type.ADDED));
-        
verify(contextManager.getMetaDataContextManager().getStatisticsManager(), 
times(0)).alterRowStatistics(any(), any(), any(), any());
+        
verify(contextManager.getMetaDataContextManager().getStatisticsManager(), 
never()).alterRowStatistics(any(), any(), any(), any());
     }
 }
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/storage/QualifiedDataSourceChangedHandlerTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/storage/QualifiedDataSourceChangedHandlerTest.java
index a51c1b0da56..124d1476bda 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/storage/QualifiedDataSourceChangedHandlerTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/node/storage/QualifiedDataSourceChangedHandlerTest.java
@@ -39,7 +39,7 @@ import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.ArgumentMatchers.refEq;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -60,13 +60,13 @@ class QualifiedDataSourceChangedHandlerTest {
     @Test
     void assertHandleWithEmptyValue() {
         handler.handle(contextManager, new 
DataChangedEvent("/nodes/qualified_data_sources/foo_db.foo_group.foo_ds", "", 
Type.ADDED));
-        verify(contextManager.getMetaDataContexts().getMetaData(), 
times(0)).containsDatabase(any());
+        verify(contextManager.getMetaDataContexts().getMetaData(), 
never()).containsDatabase(any());
     }
     
     @Test
     void assertHandleWithoutQualifiedDataSource() {
         handler.handle(contextManager, new 
DataChangedEvent("/nodes/qualified_data_sources", "state: DISABLED", 
Type.ADDED));
-        verify(contextManager.getMetaDataContexts().getMetaData(), 
times(0)).containsDatabase(any());
+        verify(contextManager.getMetaDataContexts().getMetaData(), 
never()).containsDatabase(any());
     }
     
     @Test
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/state/DatabaseListenerChangedHandlerTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/state/DatabaseListenerChangedHandlerTest.java
index ef222711e66..6e167608eee 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/state/DatabaseListenerChangedHandlerTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/state/DatabaseListenerChangedHandlerTest.java
@@ -37,7 +37,7 @@ import java.util.Properties;
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -63,7 +63,7 @@ class DatabaseListenerChangedHandlerTest {
     @Test
     void assertHandleWithoutDatabase() {
         handler.handle(contextManager, new 
DataChangedEvent("/states/database_listener_coordinator", "", Type.ADDED));
-        verify(contextManager.getPersistServiceFacade(), 
times(0)).getRepository();
+        verify(contextManager.getPersistServiceFacade(), 
never()).getRepository();
     }
     
     @Test
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/listener/type/DatabaseMetaDataChangedListenerTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/listener/type/DatabaseMetaDataChangedListenerTest.java
index fdc8f8d2d83..549dcb8fd34 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/listener/type/DatabaseMetaDataChangedListenerTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/listener/type/DatabaseMetaDataChangedListenerTest.java
@@ -28,7 +28,7 @@ import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
 
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 
 @ExtendWith(MockitoExtension.class)
@@ -47,24 +47,24 @@ class DatabaseMetaDataChangedListenerTest {
     @Test
     void assertOnChangeWithoutDatabase() {
         listener.onChange(new DataChangedEvent("/metadata", "value", 
Type.IGNORED));
-        
verify(contextManager.getComputeNodeInstanceContext().getEventBusContext(), 
times(0)).post(any());
+        
verify(contextManager.getComputeNodeInstanceContext().getEventBusContext(), 
never()).post(any());
     }
     
     @Test
     void assertOnChangeWithMetaDataChanged() {
         listener.onChange(new 
DataChangedEvent("/metadata/foo_db/schemas/foo_schema", "value", Type.ADDED));
-        
verify(contextManager.getComputeNodeInstanceContext().getEventBusContext(), 
times(0)).post(any());
+        
verify(contextManager.getComputeNodeInstanceContext().getEventBusContext(), 
never()).post(any());
     }
     
     @Test
     void assertOnChangeWithRuleConfigurationChanged() {
         listener.onChange(new 
DataChangedEvent("/metadata/foo_db/schemas/foo_schema/rule/", "value", 
Type.ADDED));
-        
verify(contextManager.getComputeNodeInstanceContext().getEventBusContext(), 
times(0)).post(any());
+        
verify(contextManager.getComputeNodeInstanceContext().getEventBusContext(), 
never()).post(any());
     }
     
     @Test
     void assertOnChangeWithRuleConfigurationDropped() {
         listener.onChange(new 
DataChangedEvent("/metadata/foo_db/rules/foo_rule", "value", Type.DELETED));
-        
verify(contextManager.getComputeNodeInstanceContext().getEventBusContext(), 
times(0)).post(any());
+        
verify(contextManager.getComputeNodeInstanceContext().getEventBusContext(), 
never()).post(any());
     }
 }
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/persist/coordinator/process/ClusterProcessPersistCoordinatorTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/persist/coordinator/process/ClusterProcessPersistCoordinatorTest.java
index a6576f2324d..d2c8e3d0bd5 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/persist/coordinator/process/ClusterProcessPersistCoordinatorTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/persist/coordinator/process/ClusterProcessPersistCoordinatorTest.java
@@ -33,7 +33,7 @@ import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -55,7 +55,7 @@ class ClusterProcessPersistCoordinatorTest {
     void assertReportEmptyLocalProcesses() {
         
when(ProcessRegistry.getInstance().listAll()).thenReturn(Collections.emptyList());
         processPersistCoordinator.reportLocalProcesses("foo_instance_id", 
"foo_task_id");
-        verify(repository, times(0)).persist(any(), any());
+        verify(repository, never()).persist(any(), any());
         
verify(repository).delete("/nodes/compute_nodes/show_process_list_trigger/foo_instance_id:foo_task_id");
     }
     
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistServiceTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistServiceTest.java
index 814a39bbdd4..61aa7e004da 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistServiceTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistServiceTest.java
@@ -48,7 +48,7 @@ import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyCollection;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -125,7 +125,7 @@ class ClusterMetaDataManagerPersistServiceTest {
     @Test
     void assertAlterNullRuleConfiguration() {
         metaDataManagerPersistService.alterRuleConfiguration(new 
ShardingSphereDatabase("foo_db", mock(), mock(), mock(), 
Collections.emptyList()), null);
-        verify(metaDataPersistFacade.getDatabaseRuleService(), 
times(0)).persist(eq("foo_db"), any());
+        verify(metaDataPersistFacade.getDatabaseRuleService(), 
never()).persist(eq("foo_db"), any());
     }
     
     @Test
@@ -140,7 +140,7 @@ class ClusterMetaDataManagerPersistServiceTest {
     @Test
     void assertRemoveNullRuleConfigurationItem() {
         metaDataManagerPersistService.removeRuleConfigurationItem(new 
ShardingSphereDatabase("foo_db", mock(), mock(), mock(), 
Collections.emptyList()), null);
-        verify(metaDataPersistFacade.getDatabaseRuleService(), 
times(0)).delete(eq("foo_db"), anyCollection());
+        verify(metaDataPersistFacade.getDatabaseRuleService(), 
never()).delete(eq("foo_db"), anyCollection());
     }
     
     @Test
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterProcessPersistServiceTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterProcessPersistServiceTest.java
index fb9c093c9cf..d5eefb0695f 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterProcessPersistServiceTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterProcessPersistServiceTest.java
@@ -40,7 +40,7 @@ import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.contains;
 import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -62,7 +62,7 @@ class ClusterProcessPersistServiceTest {
     void assertGetCompletedProcessList() {
         
when(ProcessOperationLockRegistry.getInstance().waitUntilReleaseReady(any(), 
anyInt(), any())).thenReturn(true);
         assertGetProcessList();
-        verify(repository, 
times(0)).delete(contains("/nodes/compute_nodes/show_process_list_trigger/abc:"));
+        verify(repository, 
never()).delete(contains("/nodes/compute_nodes/show_process_list_trigger/abc:"));
     }
     
     @Test
@@ -96,7 +96,7 @@ class ClusterProcessPersistServiceTest {
     void assertKillCompletedProcess() {
         
when(ProcessOperationLockRegistry.getInstance().waitUntilReleaseReady(any(), 
anyInt(), any())).thenReturn(true);
         assertKillProcess();
-        verify(repository, 
times(0)).delete("/nodes/compute_nodes/kill_process_trigger/abc:foo_process_id");
+        verify(repository, 
never()).delete("/nodes/compute_nodes/kill_process_trigger/abc:foo_process_id");
     }
     
     @Test
diff --git 
a/mode/type/cluster/repository/core/src/test/java/org/apache/shardingsphere/mode/repository/cluster/core/lock/type/DefaultDistributedLockTest.java
 
b/mode/type/cluster/repository/core/src/test/java/org/apache/shardingsphere/mode/repository/cluster/core/lock/type/DefaultDistributedLockTest.java
index 978dc278a96..6050a81f50e 100644
--- 
a/mode/type/cluster/repository/core/src/test/java/org/apache/shardingsphere/mode/repository/cluster/core/lock/type/DefaultDistributedLockTest.java
+++ 
b/mode/type/cluster/repository/core/src/test/java/org/apache/shardingsphere/mode/repository/cluster/core/lock/type/DefaultDistributedLockTest.java
@@ -35,7 +35,7 @@ import java.util.Map;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -85,7 +85,7 @@ class DefaultDistributedLockTest {
         distributedLock.tryLock(10L);
         distributedLock.tryLock(10L);
         distributedLock.unlock();
-        verify(client, times(0)).delete("foo_key");
+        verify(client, never()).delete("foo_key");
         assertFalse(getThreadData().isEmpty());
     }
     
diff --git 
a/mode/type/cluster/repository/provider/zookeeper/src/test/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepositoryTest.java
 
b/mode/type/cluster/repository/provider/zookeeper/src/test/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepositoryTest.java
index efe07705280..035f2d32e67 100644
--- 
a/mode/type/cluster/repository/provider/zookeeper/src/test/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepositoryTest.java
+++ 
b/mode/type/cluster/repository/provider/zookeeper/src/test/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepositoryTest.java
@@ -61,7 +61,7 @@ import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -207,7 +207,7 @@ class ZookeeperRepositoryTest {
     @Test
     void assertDeleteNotExistKey() {
         REPOSITORY.delete("/test/children/1");
-        verify(client, times(0)).delete();
+        verify(client, never()).delete();
     }
     
     @Test
diff --git 
a/mode/type/cluster/repository/provider/zookeeper/src/test/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/listener/SessionConnectionReconnectListenerTest.java
 
b/mode/type/cluster/repository/provider/zookeeper/src/test/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/listener/SessionConnectionReconnectListenerTest.java
index 4df51b1fc4a..97a4814e1b8 100644
--- 
a/mode/type/cluster/repository/provider/zookeeper/src/test/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/listener/SessionConnectionReconnectListenerTest.java
+++ 
b/mode/type/cluster/repository/provider/zookeeper/src/test/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/listener/SessionConnectionReconnectListenerTest.java
@@ -34,7 +34,7 @@ import java.util.Properties;
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -53,7 +53,7 @@ class SessionConnectionReconnectListenerTest {
     @Test
     void assertChangeToConnectedState() throws InterruptedException {
         new SessionConnectionReconnectListener(computeNodeInstanceContext, 
repository).stateChanged(client, ConnectionState.CONNECTED);
-        verify(client.getZookeeperClient(), 
times(0)).blockUntilConnectedOrTimedOut();
+        verify(client.getZookeeperClient(), 
never()).blockUntilConnectedOrTimedOut();
     }
     
     @Test
@@ -71,7 +71,7 @@ class SessionConnectionReconnectListenerTest {
         
when(client.getZookeeperClient().blockUntilConnectedOrTimedOut()).thenReturn(true);
         
when(computeNodeInstanceContext.getInstance().getWorkerId()).thenReturn(-1);
         
getSessionConnectionReconnectListener(computeNodePersistService).stateChanged(client,
 ConnectionState.LOST);
-        verify(computeNodeInstanceContext, times(0)).generateWorkerId(new 
Properties());
+        verify(computeNodeInstanceContext, never()).generateWorkerId(new 
Properties());
         verify(computeNodePersistService).registerOnline(any());
     }
     
diff --git 
a/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistServiceTest.java
 
b/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistServiceTest.java
index 6ef650177bc..0f85251b81e 100644
--- 
a/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistServiceTest.java
+++ 
b/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/persist/service/StandaloneMetaDataManagerPersistServiceTest.java
@@ -54,7 +54,7 @@ import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -106,7 +106,7 @@ class StandaloneMetaDataManagerPersistServiceTest {
         DatabaseMetaDataPersistFacade databaseMetaDataFacade = 
mock(DatabaseMetaDataPersistFacade.class, RETURNS_DEEP_STUBS);
         
when(metaDataPersistFacade.getDatabaseMetaDataFacade()).thenReturn(databaseMetaDataFacade);
         metaDataManagerPersistService.renameSchema(new 
ShardingSphereDatabase("foo_db", mock(), mock(), mock(), 
Collections.emptyList()), "foo_schema", "bar_schema");
-        verify(databaseMetaDataFacade.getSchema(), times(0)).add("foo_db", 
"bar_schema");
+        verify(databaseMetaDataFacade.getSchema(), never()).add("foo_db", 
"bar_schema");
         verify(databaseMetaDataFacade).renameSchema(any(), any(), 
eq("foo_schema"), eq("bar_schema"));
     }
     
@@ -149,7 +149,7 @@ class StandaloneMetaDataManagerPersistServiceTest {
     @Test
     void assertAlterNullRuleConfiguration() {
         metaDataManagerPersistService.alterRuleConfiguration(new 
ShardingSphereDatabase("foo_db", mock(), mock(), mock(), 
Collections.emptyList()), null);
-        verify(metaDataPersistFacade, times(0)).getVersionService();
+        verify(metaDataPersistFacade, never()).getVersionService();
     }
     
     @Test
@@ -172,7 +172,7 @@ class StandaloneMetaDataManagerPersistServiceTest {
     @Test
     void assertRemoveNullRuleConfigurationItem() {
         metaDataManagerPersistService.removeRuleConfigurationItem(new 
ShardingSphereDatabase("foo_db", mock(), mock(), mock(), 
Collections.emptyList()), null);
-        verify(metaDataPersistFacade, times(0)).getVersionService();
+        verify(metaDataPersistFacade, never()).getVersionService();
     }
     
     @Test
diff --git 
a/mode/type/standalone/repository/provider/jdbc/src/test/java/org/apache/shardingsphere/mode/repository/standalone/jdbc/JDBCRepositoryTest.java
 
b/mode/type/standalone/repository/provider/jdbc/src/test/java/org/apache/shardingsphere/mode/repository/standalone/jdbc/JDBCRepositoryTest.java
index b7deda9086e..ff18ddc26ec 100644
--- 
a/mode/type/standalone/repository/provider/jdbc/src/test/java/org/apache/shardingsphere/mode/repository/standalone/jdbc/JDBCRepositoryTest.java
+++ 
b/mode/type/standalone/repository/provider/jdbc/src/test/java/org/apache/shardingsphere/mode/repository/standalone/jdbc/JDBCRepositoryTest.java
@@ -45,6 +45,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.Mockito.anyString;
 import static org.mockito.Mockito.eq;
 import static org.mockito.Mockito.mockConstruction;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -226,7 +227,7 @@ class JDBCRepositoryTest {
         when(mockResultSet.next()).thenReturn(true);
         
when(mockJdbcConnection.prepareStatement(repositorySQL.getUpdateSQL())).thenReturn(mockPreparedStatement);
         repository.persist(key, "value");
-        verify(mockPreparedStatementForPersist, times(0)).executeUpdate();
+        verify(mockPreparedStatementForPersist, never()).executeUpdate();
     }
     
     @Test
@@ -253,7 +254,7 @@ class JDBCRepositoryTest {
         when(mockResultSet.next()).thenReturn(false);
         
when(mockJdbcConnection.prepareStatement(repositorySQL.getInsertSQL())).thenReturn(mockPreparedStatement);
         repository.persist("key", "value");
-        verify(mockPreparedStatementForPersist, times(0)).executeUpdate();
+        verify(mockPreparedStatementForPersist, never()).executeUpdate();
     }
     
     @Test
@@ -273,7 +274,7 @@ class JDBCRepositoryTest {
         String value = "value";
         
when(mockJdbcConnection.prepareStatement(repositorySQL.getUpdateSQL())).thenThrow(new
 SQLException(""));
         repository.update(key, value);
-        verify(mockPreparedStatement, times(0)).executeUpdate();
+        verify(mockPreparedStatement, never()).executeUpdate();
     }
     
     @Test
@@ -290,7 +291,7 @@ class JDBCRepositoryTest {
         String key = "key";
         
when(mockJdbcConnection.prepareStatement(repositorySQL.getDeleteSQL())).thenThrow(new
 SQLException(""));
         repository.delete(key);
-        verify(mockPreparedStatement, times(0)).executeUpdate();
+        verify(mockPreparedStatement, never()).executeUpdate();
     }
     
     @Test
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/transaction/ProxyBackendTransactionManagerTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/transaction/ProxyBackendTransactionManagerTest.java
index 4dd80bc0901..355dd2e61d1 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/transaction/ProxyBackendTransactionManagerTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/jdbc/transaction/ProxyBackendTransactionManagerTest.java
@@ -48,6 +48,7 @@ import java.util.Collections;
 
 import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -112,7 +113,7 @@ class ProxyBackendTransactionManagerTest {
         
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
         newTransactionManager(TransactionType.XA, true);
         transactionManager.begin();
-        verify(transactionStatus, times(0)).setInTransaction(true);
+        verify(transactionStatus, never()).setInTransaction(true);
         verify(databaseConnectionManager, times(1)).closeConnections(false);
         verify(distributedTransactionManager).begin();
     }
@@ -143,9 +144,9 @@ class ProxyBackendTransactionManagerTest {
         
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
         newTransactionManager(TransactionType.LOCAL, false);
         transactionManager.commit();
-        verify(transactionStatus, times(0)).setInTransaction(false);
-        verify(localTransactionManager, times(0)).commit();
-        verify(distributedTransactionManager, times(0)).commit(false);
+        verify(transactionStatus, never()).setInTransaction(false);
+        verify(localTransactionManager, never()).commit();
+        verify(distributedTransactionManager, never()).commit(false);
     }
     
     @Test
@@ -174,9 +175,9 @@ class ProxyBackendTransactionManagerTest {
         
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
         newTransactionManager(TransactionType.LOCAL, false);
         transactionManager.rollback();
-        verify(transactionStatus, times(0)).setInTransaction(false);
-        verify(localTransactionManager, times(0)).rollback();
-        verify(distributedTransactionManager, times(0)).rollback();
+        verify(transactionStatus, never()).setInTransaction(false);
+        verify(localTransactionManager, never()).rollback();
+        verify(distributedTransactionManager, never()).rollback();
     }
     
     private void newTransactionManager(final TransactionType transactionType, 
final boolean inTransaction) {
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/database/type/DropDatabaseProxyBackendHandlerTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/database/type/DropDatabaseProxyBackendHandlerTest.java
index a48cc0f3ad7..662b8cb7735 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/database/type/DropDatabaseProxyBackendHandlerTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/database/type/DropDatabaseProxyBackendHandlerTest.java
@@ -48,7 +48,7 @@ import static 
org.junit.jupiter.api.Assertions.assertDoesNotThrow;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -106,8 +106,8 @@ class DropDatabaseProxyBackendHandlerTest {
     void assertExecuteDropWithoutCurrentDatabase() throws SQLException {
         when(sqlStatement.getDatabaseName()).thenReturn("foo_db");
         ResponseHeader responseHeader = handler.execute();
-        verify(connectionSession, times(0)).setCurrentDatabaseName(null);
         assertThat(responseHeader, isA(UpdateResponseHeader.class));
+        verify(connectionSession, never()).setCurrentDatabaseName(null);
     }
     
     @Test
@@ -116,8 +116,8 @@ class DropDatabaseProxyBackendHandlerTest {
         
when(connectionSession.getProtocolType()).thenReturn(TypedSPILoader.getService(DatabaseType.class,
 "MySQL"));
         when(sqlStatement.getDatabaseName()).thenReturn("foo_db");
         ResponseHeader responseHeader = handler.execute();
-        verify(connectionSession).setCurrentDatabaseName(null);
         assertThat(responseHeader, isA(UpdateResponseHeader.class));
+        verify(connectionSession).setCurrentDatabaseName(null);
     }
     
     @Test
@@ -133,7 +133,7 @@ class DropDatabaseProxyBackendHandlerTest {
         when(connectionSession.getUsedDatabaseName()).thenReturn("foo_db");
         when(sqlStatement.getDatabaseName()).thenReturn("bar_db");
         ResponseHeader responseHeader = handler.execute();
-        verify(connectionSession, times(0)).setCurrentDatabaseName(null);
         assertThat(responseHeader, isA(UpdateResponseHeader.class));
+        verify(connectionSession, never()).setCurrentDatabaseName(null);
     }
 }

Reply via email to