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

zhangduo pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2 by this push:
     new f6681e6483f HBASE-29926 Upgrade hbase-hadoop-compat to use junit5 
(#7801)
f6681e6483f is described below

commit f6681e6483f088f02f3c6f2f746858ce7b0803c9
Author: Liu Xiao <[email protected]>
AuthorDate: Wed Mar 4 10:50:56 2026 +0800

    HBASE-29926 Upgrade hbase-hadoop-compat to use junit5 (#7801)
    
    Signed-off-by: Duo Zhang <[email protected]>
---
 hbase-hadoop-compat/pom.xml                        |  5 ----
 .../hbase/TestCompatibilitySingletonFactory.java   | 16 ++++------
 .../master/TestMetricsMasterSourceFactory.java     | 23 +++++++--------
 .../TestMetricsRegionServerSourceFactory.java      | 23 +++++++--------
 .../regionserver/wal/TestMetricsWALSource.java     | 23 +++++++--------
 .../TestMetricsReplicationSourceFactory.java       | 22 +++++++-------
 .../hadoop/hbase/rest/TestMetricsRESTSource.java   | 21 ++++++-------
 .../TestMetricsThriftServerSourceFactory.java      | 23 +++++++--------
 .../zookeeper/TestMetricsZooKeeperSource.java      | 20 ++++++-------
 hbase-hadoop2-compat/pom.xml                       |  5 ----
 .../master/TestMetricsMasterProcSourceImpl.java    | 17 ++++-------
 .../hbase/master/TestMetricsMasterSourceImpl.java  | 16 ++++------
 .../hadoop/hbase/metrics/TestBaseSourceImpl.java   | 22 +++++---------
 .../hbase/metrics/TestMetricsExportHelper.java     | 25 +++++++---------
 .../TestMetricsRegionServerSourceImpl.java         | 23 +++++++--------
 .../regionserver/TestMetricsRegionSourceImpl.java  | 23 +++++++--------
 .../regionserver/TestMetricsTableSourceImpl.java   | 26 ++++++++---------
 .../regionserver/TestMetricsUserSourceImpl.java    | 26 ++++++++---------
 .../regionserver/wal/TestMetricsWALSourceImpl.java | 17 ++++-------
 .../TestMetricsReplicationSourceFactoryImpl.java   | 14 ++++-----
 .../TestMetricsReplicationSourceImpl.java          | 14 ++++-----
 .../hbase/rest/TestMetricsRESTSourceImpl.java      | 16 ++++------
 .../hadoop/hbase/test/MetricsAssertHelperImpl.java | 34 +++++++++++-----------
 .../TestMetricsThriftServerSourceFactoryImpl.java  | 22 ++++++--------
 .../zookeeper/TestMetricsZooKeeperSourceImpl.java  | 18 +++++-------
 .../metrics2/lib/TestMutableRangeHistogram.java    | 15 ++++------
 26 files changed, 210 insertions(+), 299 deletions(-)

diff --git a/hbase-hadoop-compat/pom.xml b/hbase-hadoop-compat/pom.xml
index 993cfc39f0f..413107c7749 100644
--- a/hbase-hadoop-compat/pom.xml
+++ b/hbase-hadoop-compat/pom.xml
@@ -79,11 +79,6 @@
       <artifactId>junit-jupiter-params</artifactId>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>org.junit.vintage</groupId>
-      <artifactId>junit-vintage-engine</artifactId>
-      <scope>test</scope>
-    </dependency>
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>jcl-over-slf4j</artifactId>
diff --git 
a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/TestCompatibilitySingletonFactory.java
 
b/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/TestCompatibilitySingletonFactory.java
index 10f11240743..7da2c4c6fc6 100644
--- 
a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/TestCompatibilitySingletonFactory.java
+++ 
b/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/TestCompatibilitySingletonFactory.java
@@ -17,8 +17,8 @@
  */
 package org.apache.hadoop.hbase;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -28,17 +28,13 @@ import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestCompatibilitySingletonFactory {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestCompatibilitySingletonFactory.class);
-
   private static final int ITERATIONS = 100000;
 
   private static class TestCompatibilitySingletonFactoryCallable implements 
Callable<String> {
diff --git 
a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/master/TestMetricsMasterSourceFactory.java
 
b/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/master/TestMetricsMasterSourceFactory.java
index 6071a7e8200..c51f82053cd 100644
--- 
a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/master/TestMetricsMasterSourceFactory.java
+++ 
b/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/master/TestMetricsMasterSourceFactory.java
@@ -17,28 +17,25 @@
  */
 package org.apache.hadoop.hbase.master;
 
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test for the CompatibilitySingletonFactory and building MetricsMasterSource
  */
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMetricsMasterSourceFactory {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricsMasterSourceFactory.class);
-
-  @Test(expected = RuntimeException.class)
-  public void testGetInstanceNoHadoopCompat() throws Exception {
+  @Test
+  public void testGetInstance() throws Exception {
     // This should throw an exception because there is no compat lib on the 
class path.
-    
CompatibilitySingletonFactory.getInstance(MetricsMasterSourceFactory.class);
-
+    assertThrows(RuntimeException.class,
+      () -> 
CompatibilitySingletonFactory.getInstance(MetricsMasterSourceFactory.class));
   }
 }
diff --git 
a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServerSourceFactory.java
 
b/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServerSourceFactory.java
index 598995d846f..871fb86a9f0 100644
--- 
a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServerSourceFactory.java
+++ 
b/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServerSourceFactory.java
@@ -17,28 +17,25 @@
  */
 package org.apache.hadoop.hbase.regionserver;
 
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test for the CompatibilitySingletonFactory and building 
MetricsRegionServerSource
  */
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMetricsRegionServerSourceFactory {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricsRegionServerSourceFactory.class);
-
-  @Test(expected = RuntimeException.class)
-  public void testGetInstanceNoHadoopCompat() throws Exception {
+  @Test
+  public void testGetInstance() throws Exception {
     // This should throw an exception because there is no compat lib on the 
class path.
-    
CompatibilitySingletonFactory.getInstance(MetricsRegionServerSourceFactory.class);
-
+    assertThrows(RuntimeException.class,
+      () -> 
CompatibilitySingletonFactory.getInstance(MetricsRegionServerSourceFactory.class));
   }
 }
diff --git 
a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSource.java
 
b/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSource.java
index 10de587db0a..53deb07eec1 100644
--- 
a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSource.java
+++ 
b/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSource.java
@@ -17,25 +17,22 @@
  */
 package org.apache.hadoop.hbase.regionserver.wal;
 
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMetricsWALSource {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricsWALSource.class);
-
-  @Test(expected = RuntimeException.class)
-  public void testGetInstanceNoHadoopCompat() throws Exception {
+  @Test
+  public void testGetInstance() throws Exception {
     // This should throw an exception because there is no compat lib on the 
class path.
-    CompatibilitySingletonFactory.getInstance(MetricsWALSource.class);
-
+    assertThrows(RuntimeException.class,
+      () -> CompatibilitySingletonFactory.getInstance(MetricsWALSource.class));
   }
 }
diff --git 
a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestMetricsReplicationSourceFactory.java
 
b/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestMetricsReplicationSourceFactory.java
index 2bdd8e754e5..7f9d2c593be 100644
--- 
a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestMetricsReplicationSourceFactory.java
+++ 
b/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestMetricsReplicationSourceFactory.java
@@ -17,27 +17,25 @@
  */
 package org.apache.hadoop.hbase.replication.regionserver;
 
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test for the CompatibilitySingletonFactory and building 
MetricsReplicationSource
  */
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMetricsReplicationSourceFactory {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricsReplicationSourceFactory.class);
-
-  @Test(expected = RuntimeException.class)
-  public void testGetInstanceNoHadoopCompat() throws Exception {
+  @Test
+  public void testGetInstance() throws Exception {
     // This should throw an exception because there is no compat lib on the 
class path.
-    CompatibilitySingletonFactory.getInstance(MetricsReplicationSource.class);
+    assertThrows(RuntimeException.class,
+      () -> 
CompatibilitySingletonFactory.getInstance(MetricsReplicationSource.class));
   }
 }
diff --git 
a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/rest/TestMetricsRESTSource.java
 
b/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/rest/TestMetricsRESTSource.java
index e81aaec77d0..33e1208541a 100644
--- 
a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/rest/TestMetricsRESTSource.java
+++ 
b/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/rest/TestMetricsRESTSource.java
@@ -17,28 +17,25 @@
  */
 package org.apache.hadoop.hbase.rest;
 
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test of Rest Metrics Source interface.
  */
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMetricsRESTSource {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricsRESTSource.class);
-
-  @Test(expected = RuntimeException.class)
+  @Test
   public void testGetInstanceNoHadoopCompat() throws Exception {
     // This should throw an exception because there is no compat lib on the 
class path.
-    CompatibilitySingletonFactory.getInstance(MetricsRESTSource.class);
+    assertThrows(RuntimeException.class,
+      () -> 
CompatibilitySingletonFactory.getInstance(MetricsRESTSource.class));
   }
-
 }
diff --git 
a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/thrift/TestMetricsThriftServerSourceFactory.java
 
b/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/thrift/TestMetricsThriftServerSourceFactory.java
index 23a4ef8e742..70ec2bf838e 100644
--- 
a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/thrift/TestMetricsThriftServerSourceFactory.java
+++ 
b/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/thrift/TestMetricsThriftServerSourceFactory.java
@@ -17,28 +17,25 @@
  */
 package org.apache.hadoop.hbase.thrift;
 
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test for the interface of MetricsThriftServerSourceFactory
  */
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMetricsThriftServerSourceFactory {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricsThriftServerSourceFactory.class);
-
-  @Test(expected = RuntimeException.class)
-  public void testGetInstanceNoHadoopCompat() throws RuntimeException {
+  @Test
+  public void testGetInstance() {
     // This should throw an exception because there is no compat lib on the 
class path.
-    
CompatibilitySingletonFactory.getInstance(MetricsThriftServerSourceFactory.class);
+    assertThrows(RuntimeException.class,
+      () -> 
CompatibilitySingletonFactory.getInstance(MetricsThriftServerSourceFactory.class));
   }
-
 }
diff --git 
a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/zookeeper/TestMetricsZooKeeperSource.java
 
b/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/zookeeper/TestMetricsZooKeeperSource.java
index 2ed502922e4..03674b55695 100644
--- 
a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/zookeeper/TestMetricsZooKeeperSource.java
+++ 
b/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/zookeeper/TestMetricsZooKeeperSource.java
@@ -17,24 +17,22 @@
  */
 package org.apache.hadoop.hbase.zookeeper;
 
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMetricsZooKeeperSource {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricsZooKeeperSource.class);
-
-  @Test(expected = RuntimeException.class)
+  @Test
   public void testGetInstanceNoHadoopCompat() throws Exception {
     // This should throw an exception because there is no compat lib on the 
class path.
-    CompatibilitySingletonFactory.getInstance(MetricsZooKeeperSource.class);
+    assertThrows(RuntimeException.class,
+      () -> 
CompatibilitySingletonFactory.getInstance(MetricsZooKeeperSource.class));
   }
 }
diff --git a/hbase-hadoop2-compat/pom.xml b/hbase-hadoop2-compat/pom.xml
index 4c34abe8e30..2bab73cc723 100644
--- a/hbase-hadoop2-compat/pom.xml
+++ b/hbase-hadoop2-compat/pom.xml
@@ -56,11 +56,6 @@ limitations under the License.
       <artifactId>junit-jupiter-params</artifactId>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>org.junit.vintage</groupId>
-      <artifactId>junit-vintage-engine</artifactId>
-      <scope>test</scope>
-    </dependency>
     <dependency>
       <groupId>org.apache.hbase</groupId>
       <artifactId>hbase-common</artifactId>
diff --git 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/master/TestMetricsMasterProcSourceImpl.java
 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/master/TestMetricsMasterProcSourceImpl.java
index 04f95bf2eb9..26e7c1e26a5 100644
--- 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/master/TestMetricsMasterProcSourceImpl.java
+++ 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/master/TestMetricsMasterProcSourceImpl.java
@@ -17,27 +17,22 @@
  */
 package org.apache.hadoop.hbase.master;
 
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test for MetricsMasterProcSourceImpl
  */
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMetricsMasterProcSourceImpl {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricsMasterProcSourceImpl.class);
-
   @Test
   public void testGetInstance() throws Exception {
     MetricsMasterProcSourceFactory metricsMasterProcSourceFactory =
diff --git 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/master/TestMetricsMasterSourceImpl.java
 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/master/TestMetricsMasterSourceImpl.java
index 8dc1ae6e163..becf1a4a776 100644
--- 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/master/TestMetricsMasterSourceImpl.java
+++ 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/master/TestMetricsMasterSourceImpl.java
@@ -17,25 +17,21 @@
  */
 package org.apache.hadoop.hbase.master;
 
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test for MetricsMasterSourceImpl
  */
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMetricsMasterSourceImpl {
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricsMasterSourceImpl.class);
 
   @Test
   public void testGetInstance() {
diff --git 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/metrics/TestBaseSourceImpl.java
 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/metrics/TestBaseSourceImpl.java
index 63f22143a91..d8af6232aae 100644
--- 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/metrics/TestBaseSourceImpl.java
+++ 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/metrics/TestBaseSourceImpl.java
@@ -17,32 +17,27 @@
  */
 package org.apache.hadoop.hbase.metrics;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
 import org.apache.hadoop.metrics2.lib.MutableFastCounter;
 import org.apache.hadoop.metrics2.lib.MutableGaugeLong;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test of default BaseSource for hadoop 2
  */
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestBaseSourceImpl {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestBaseSourceImpl.class);
-
   private static BaseSourceImpl bmsi;
 
-  @BeforeClass
+  @BeforeAll
   public static void setUp() throws Exception {
     bmsi = new BaseSourceImpl("TestName", "test description", "testcontext", 
"TestContext");
   }
@@ -89,5 +84,4 @@ public class TestBaseSourceImpl {
     bmsi.removeMetric("testrmgauge");
     assertNull(bmsi.metricsRegistry.get("testrmgauge"));
   }
-
 }
diff --git 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/metrics/TestMetricsExportHelper.java
 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/metrics/TestMetricsExportHelper.java
index 3a86dd04966..ff7436267e5 100644
--- 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/metrics/TestMetricsExportHelper.java
+++ 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/metrics/TestMetricsExportHelper.java
@@ -18,25 +18,20 @@
 package org.apache.hadoop.hbase.metrics;
 
 import java.util.Collection;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
 import org.apache.hadoop.metrics2.AbstractMetric;
 import org.apache.hadoop.metrics2.MetricsRecord;
 import org.apache.hadoop.metrics2.impl.MetricsExportHelper;
 import org.apache.hadoop.metrics2.lib.DefaultMetricsSystem;
-import org.junit.Assert;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMetricsExportHelper {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricsExportHelper.class);
-
   @Test
   public void testExportHelper() {
     DefaultMetricsSystem.initialize("exportHelperTestSystem");
@@ -54,11 +49,11 @@ public class TestMetricsExportHelper {
     Collection<MetricsRecord> metrics = MetricsExportHelper.export();
     DefaultMetricsSystem.instance().stop();
 
-    Assert.assertTrue(metrics.stream().anyMatch(mr -> 
mr.name().equals(metricsName)));
-    Assert.assertTrue(gaugeName + " is missing in the export",
-      contains(metrics, metricsName, gaugeName));
-    Assert.assertTrue(counterName + " is missing in the export",
-      contains(metrics, metricsName, counterName));
+    Assertions.assertTrue(metrics.stream().anyMatch(mr -> 
mr.name().equals(metricsName)));
+    Assertions.assertTrue(contains(metrics, metricsName, gaugeName),
+      gaugeName + " is missing in the export");
+    Assertions.assertTrue(contains(metrics, metricsName, counterName),
+      counterName + " is missing in the export");
   }
 
   private boolean contains(Collection<MetricsRecord> metrics, String 
metricsName,
diff --git 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServerSourceImpl.java
 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServerSourceImpl.java
index 3cda99b134e..11bd183640c 100644
--- 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServerSourceImpl.java
+++ 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServerSourceImpl.java
@@ -17,22 +17,19 @@
  */
 package org.apache.hadoop.hbase.regionserver;
 
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMetricsRegionServerSourceImpl {
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricsRegionServerSourceImpl.class);
 
   @Test
   public void testGetInstance() {
@@ -44,10 +41,12 @@ public class TestMetricsRegionServerSourceImpl {
       
CompatibilitySingletonFactory.getInstance(MetricsRegionServerSourceFactory.class));
   }
 
-  @Test(expected = RuntimeException.class)
+  @Test
   public void testNoGetRegionServerMetricsSourceImpl() {
     // This should throw an exception because MetricsRegionServerSourceImpl 
should only
     // be created by a factory.
-    
CompatibilitySingletonFactory.getInstance(MetricsRegionServerSourceImpl.class);
+    assertThrows(RuntimeException.class, () -> {
+      
CompatibilitySingletonFactory.getInstance(MetricsRegionServerSourceImpl.class);
+    });
   }
 }
diff --git 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionSourceImpl.java
 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionSourceImpl.java
index e157944d9fe..8f30f67e81d 100644
--- 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionSourceImpl.java
+++ 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionSourceImpl.java
@@ -17,24 +17,21 @@
  */
 package org.apache.hadoop.hbase.regionserver;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import java.util.HashMap;
 import java.util.Map;
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMetricsRegionSourceImpl {
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricsRegionSourceImpl.class);
 
   @SuppressWarnings("SelfComparison")
   @Test
@@ -56,11 +53,13 @@ public class TestMetricsRegionSourceImpl {
     assertEquals(0, two.compareTo(two));
   }
 
-  @Test(expected = RuntimeException.class)
+  @Test
   public void testNoGetRegionServerMetricsSourceImpl() {
     // This should throw an exception because MetricsRegionSourceImpl should 
only
     // be created by a factory.
-    CompatibilitySingletonFactory.getInstance(MetricsRegionSource.class);
+    assertThrows(RuntimeException.class, () -> {
+      CompatibilitySingletonFactory.getInstance(MetricsRegionSource.class);
+    });
   }
 
   static class RegionWrapperStub implements MetricsRegionWrapper {
diff --git 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsTableSourceImpl.java
 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsTableSourceImpl.java
index f1694801d7b..90e91939fee 100644
--- 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsTableSourceImpl.java
+++ 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsTableSourceImpl.java
@@ -17,26 +17,23 @@
  */
 package org.apache.hadoop.hbase.regionserver;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test for MetricsTableSourceImpl
  */
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMetricsTableSourceImpl {
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricsTableSourceImpl.class);
 
   @SuppressWarnings("SelfComparison")
   @Test
@@ -61,11 +58,13 @@ public class TestMetricsTableSourceImpl {
     assertTrue(two.compareTo(two) == 0);
   }
 
-  @Test(expected = RuntimeException.class)
+  @Test
   public void testNoGetTableMetricsSourceImpl() {
     // This should throw an exception because MetricsTableSourceImpl should 
only
     // be created by a factory.
-    CompatibilitySingletonFactory.getInstance(MetricsTableSourceImpl.class);
+    assertThrows(RuntimeException.class, () -> {
+      CompatibilitySingletonFactory.getInstance(MetricsTableSourceImpl.class);
+    });
   }
 
   @Test
@@ -75,5 +74,4 @@ public class TestMetricsTableSourceImpl {
         .createTable("ONETABLE", new MetricsTableWrapperStub("ONETABLE"));
     assertEquals("ONETABLE", oneTbl.getTableName());
   }
-
 }
diff --git 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsUserSourceImpl.java
 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsUserSourceImpl.java
index b339dd8cc52..a9a392b74af 100644
--- 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsUserSourceImpl.java
+++ 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsUserSourceImpl.java
@@ -17,25 +17,21 @@
  */
 package org.apache.hadoop.hbase.regionserver;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMetricsUserSourceImpl {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricsUserSourceImpl.class);
-
   @SuppressWarnings("SelfComparison")
   @Test
   public void testCompareToHashCodeEquals() throws Exception {
@@ -56,11 +52,13 @@ public class TestMetricsUserSourceImpl {
     assertTrue(two.compareTo(two) == 0);
   }
 
-  @Test(expected = RuntimeException.class)
+  @Test
   public void testNoGetRegionServerMetricsSourceImpl() throws Exception {
     // This should throw an exception because MetricsUserSourceImpl should only
     // be created by a factory.
-    CompatibilitySingletonFactory.getInstance(MetricsUserSource.class);
+    assertThrows(RuntimeException.class, () -> {
+      CompatibilitySingletonFactory.getInstance(MetricsUserSource.class);
+    });
   }
 
   @Test
diff --git 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSourceImpl.java
 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSourceImpl.java
index 300d536dc5f..78a5e7eeb16 100644
--- 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSourceImpl.java
+++ 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSourceImpl.java
@@ -17,24 +17,19 @@
  */
 package org.apache.hadoop.hbase.regionserver.wal;
 
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMetricsWALSourceImpl {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricsWALSourceImpl.class);
-
   @Test
   public void testGetInstance() throws Exception {
     MetricsWALSource walSource = 
CompatibilitySingletonFactory.getInstance(MetricsWALSource.class);
diff --git 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestMetricsReplicationSourceFactoryImpl.java
 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestMetricsReplicationSourceFactoryImpl.java
index c825d01b162..07ac627eb67 100644
--- 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestMetricsReplicationSourceFactoryImpl.java
+++ 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestMetricsReplicationSourceFactoryImpl.java
@@ -17,21 +17,17 @@
  */
 package org.apache.hadoop.hbase.replication.regionserver;
 
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMetricsReplicationSourceFactoryImpl {
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricsReplicationSourceFactoryImpl.class);
 
   @Test
   public void testGetInstance() {
diff --git 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestMetricsReplicationSourceImpl.java
 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestMetricsReplicationSourceImpl.java
index 6c228413104..7189ca2adc8 100644
--- 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestMetricsReplicationSourceImpl.java
+++ 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestMetricsReplicationSourceImpl.java
@@ -17,21 +17,17 @@
  */
 package org.apache.hadoop.hbase.replication.regionserver;
 
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMetricsReplicationSourceImpl {
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricsReplicationSourceImpl.class);
 
   @Test
   public void testGetInstance() throws Exception {
diff --git 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/rest/TestMetricsRESTSourceImpl.java
 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/rest/TestMetricsRESTSourceImpl.java
index d1901f68bcc..5ee5c6aa2d2 100644
--- 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/rest/TestMetricsRESTSourceImpl.java
+++ 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/rest/TestMetricsRESTSourceImpl.java
@@ -17,25 +17,21 @@
  */
 package org.apache.hadoop.hbase.rest;
 
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test for hadoop 2's version of {@link MetricsRESTSource}.
  */
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMetricsRESTSourceImpl {
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricsRESTSourceImpl.class);
 
   @Test
   public void ensureCompatRegistered() {
diff --git 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/test/MetricsAssertHelperImpl.java
 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/test/MetricsAssertHelperImpl.java
index 7c7357c4f04..2978932dbc8 100644
--- 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/test/MetricsAssertHelperImpl.java
+++ 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/test/MetricsAssertHelperImpl.java
@@ -17,9 +17,9 @@
  */
 package org.apache.hadoop.hbase.test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.HashMap;
 import java.util.Locale;
@@ -140,68 +140,68 @@ public class MetricsAssertHelperImpl implements 
MetricsAssertHelper {
   public void assertTag(String name, String expected, BaseSource source) {
     getMetrics(source);
     String cName = canonicalizeMetricName(name);
-    assertEquals("Tags should be equal", expected, tags.get(cName));
+    assertEquals(expected, tags.get(cName), "Tags should be equal");
   }
 
   @Override
   public void assertGauge(String name, long expected, BaseSource source) {
     long found = getGaugeLong(name, source);
-    assertEquals("Metrics Should be equal", (long) Long.valueOf(expected), 
found);
+    assertEquals((long) Long.valueOf(expected), found, "Metrics Should be 
equal");
   }
 
   @Override
   public void assertGaugeGt(String name, long expected, BaseSource source) {
     double found = getGaugeDouble(name, source);
-    assertTrue(name + " (" + found + ") should be greater than " + expected, 
found > expected);
+    assertTrue(found > expected, name + " (" + found + ") should be greater 
than " + expected);
   }
 
   @Override
   public void assertGaugeLt(String name, long expected, BaseSource source) {
     double found = getGaugeDouble(name, source);
-    assertTrue(name + "(" + found + ") should be less than " + expected, found 
< expected);
+    assertTrue(found < expected, name + "(" + found + ") should be less than " 
+ expected);
   }
 
   @Override
   public void assertGauge(String name, double expected, BaseSource source) {
     double found = getGaugeDouble(name, source);
-    assertEquals("Metrics Should be equal", (double) Double.valueOf(expected), 
found, 0.01);
+    assertEquals((double) Double.valueOf(expected), found, 0.01, "Metrics 
Should be equal");
   }
 
   @Override
   public void assertGaugeGt(String name, double expected, BaseSource source) {
     double found = getGaugeDouble(name, source);
-    assertTrue(name + "(" + found + ") should be greater than " + expected, 
found > expected);
+    assertTrue(found > expected, name + "(" + found + ") should be greater 
than " + expected);
   }
 
   @Override
   public void assertGaugeLt(String name, double expected, BaseSource source) {
     double found = getGaugeDouble(name, source);
-    assertTrue(name + "(" + found + ") should be less than " + expected, found 
< expected);
+    assertTrue(found < expected, name + "(" + found + ") should be less than " 
+ expected);
   }
 
   @Override
   public void assertCounter(String name, long expected, BaseSource source) {
     long found = getCounter(name, source);
-    assertEquals(name + "(" + found + ") should be equal", (long) 
Long.valueOf(expected), found);
+    assertEquals((long) Long.valueOf(expected), found, name + "(" + found + ") 
should be equal");
   }
 
   @Override
   public void assertCounterGt(String name, long expected, BaseSource source) {
     long found = getCounter(name, source);
-    assertTrue(name + " (" + found + ") should be greater than " + expected, 
found > expected);
+    assertTrue(found > expected, name + " (" + found + ") should be greater 
than " + expected);
   }
 
   @Override
   public void assertCounterLt(String name, long expected, BaseSource source) {
     long found = getCounter(name, source);
-    assertTrue(name + "(" + found + ") should be less than " + expected, found 
< expected);
+    assertTrue(found < expected, name + "(" + found + ") should be less than " 
+ expected);
   }
 
   @Override
   public long getCounter(String name, BaseSource source) {
     getMetrics(source);
     String cName = canonicalizeMetricName(name);
-    assertNotNull("Should get counter " + cName + " but did not", 
counters.get(cName));
+    assertNotNull(counters.get(cName), "Should get counter " + cName + " but 
did not");
     return counters.get(cName).longValue();
   }
 
@@ -223,7 +223,7 @@ public class MetricsAssertHelperImpl implements 
MetricsAssertHelper {
   public double getGaugeDouble(String name, BaseSource source) {
     getMetrics(source);
     String cName = canonicalizeMetricName(name);
-    assertNotNull("Should get gauge " + cName + " but did not", 
gauges.get(cName));
+    assertNotNull(gauges.get(cName), "Should get gauge " + cName + " but did 
not");
     return gauges.get(cName).doubleValue();
   }
 
@@ -231,7 +231,7 @@ public class MetricsAssertHelperImpl implements 
MetricsAssertHelper {
   public long getGaugeLong(String name, BaseSource source) {
     getMetrics(source);
     String cName = canonicalizeMetricName(name);
-    assertNotNull("Should get gauge " + cName + " but did not", 
gauges.get(cName));
+    assertNotNull(gauges.get(cName), "Should get gauge " + cName + " but did 
not");
     return gauges.get(cName).longValue();
   }
 
@@ -252,7 +252,7 @@ public class MetricsAssertHelperImpl implements 
MetricsAssertHelper {
   private void getMetrics(BaseSource source) {
     reset();
     if (!(source instanceof MetricsSource)) {
-      assertTrue("The Source passed must be a MetricsSource", false);
+      assertTrue(false, "The Source passed must be a MetricsSource");
     }
     MetricsSource impl = (MetricsSource) source;
 
diff --git 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/thrift/TestMetricsThriftServerSourceFactoryImpl.java
 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/thrift/TestMetricsThriftServerSourceFactoryImpl.java
index 3bba46bcfa9..b2c7ca0672e 100644
--- 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/thrift/TestMetricsThriftServerSourceFactoryImpl.java
+++ 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/thrift/TestMetricsThriftServerSourceFactoryImpl.java
@@ -17,33 +17,29 @@
  */
 package org.apache.hadoop.hbase.thrift;
 
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertSame;
 
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test for hadoop 2's version of MetricsThriftServerSourceFactory.
  */
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMetricsThriftServerSourceFactoryImpl {
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    
HBaseClassTestRule.forClass(TestMetricsThriftServerSourceFactoryImpl.class);
 
   @Test
   public void testCompatabilityRegistered() {
     assertNotNull(
       
CompatibilitySingletonFactory.getInstance(MetricsThriftServerSourceFactory.class));
-    assertTrue(CompatibilitySingletonFactory.getInstance(
-      MetricsThriftServerSourceFactory.class) instanceof 
MetricsThriftServerSourceFactoryImpl);
+    assertInstanceOf(MetricsThriftServerSourceFactoryImpl.class,
+      
CompatibilitySingletonFactory.getInstance(MetricsThriftServerSourceFactory.class));
   }
 
   @Test
diff --git 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/zookeeper/TestMetricsZooKeeperSourceImpl.java
 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/zookeeper/TestMetricsZooKeeperSourceImpl.java
index bc200fd1e38..dd556931bc0 100644
--- 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/zookeeper/TestMetricsZooKeeperSourceImpl.java
+++ 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/zookeeper/TestMetricsZooKeeperSourceImpl.java
@@ -17,28 +17,24 @@
  */
 package org.apache.hadoop.hbase.zookeeper;
 
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
+import static org.junit.jupiter.api.Assertions.assertSame;
 
 import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMetricsZooKeeperSourceImpl {
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricsZooKeeperSourceImpl.class);
 
   @Test
   public void testGetInstance() {
     MetricsZooKeeperSource zkSource =
       CompatibilitySingletonFactory.getInstance(MetricsZooKeeperSource.class);
-    assertTrue(zkSource instanceof MetricsZooKeeperSourceImpl);
+    assertInstanceOf(MetricsZooKeeperSourceImpl.class, zkSource);
     assertSame(zkSource, 
CompatibilitySingletonFactory.getInstance(MetricsZooKeeperSource.class));
   }
 }
diff --git 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/metrics2/lib/TestMutableRangeHistogram.java
 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/metrics2/lib/TestMutableRangeHistogram.java
index 62595a96bbd..19f0d0d15c0 100644
--- 
a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/metrics2/lib/TestMutableRangeHistogram.java
+++ 
b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/metrics2/lib/TestMutableRangeHistogram.java
@@ -17,27 +17,22 @@
  */
 package org.apache.hadoop.metrics2.lib;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MetricsTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
 import org.apache.hadoop.metrics2.AbstractMetric;
 import org.apache.hadoop.metrics2.MetricsRecord;
 import org.apache.hadoop.metrics2.impl.MetricsCollectorImpl;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
-@Category({ MetricsTests.class, SmallTests.class })
+@Tag(MetricsTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestMutableRangeHistogram {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMutableRangeHistogram.class);
-
   private static final String RECORD_NAME = "test";
   private static final String SIZE_HISTOGRAM_NAME = "TestSize";
 

Reply via email to