You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2020/07/15 17:11:39 UTC

[camel] 10/14: [CAMEL-11807] Upgrade camel-metrics to junit5

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

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

commit d8128f627faba6bbb7dc8bab7ef97e8cd875efcc
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Wed Jul 15 16:12:26 2020 +0200

    [CAMEL-11807] Upgrade camel-metrics to junit5
---
 components/camel-metrics/pom.xml                   | 10 ++++-----
 .../metrics/AbstractMetricsProducerTest.java       | 21 ++++++++++---------
 .../component/metrics/CounterEndpointTest.java     | 18 ++++++++--------
 .../component/metrics/CounterProducerTest.java     | 22 ++++++++++++--------
 .../camel/component/metrics/CounterRouteTest.java  | 21 ++++++++-----------
 .../camel/component/metrics/GaugeEndpointTest.java | 14 ++++++-------
 .../camel/component/metrics/GaugeProducerTest.java | 23 +++++++++++----------
 .../camel/component/metrics/GaugeRouteTest.java    | 21 ++++++++-----------
 .../component/metrics/HistogramEndpointTest.java   | 18 ++++++++--------
 .../component/metrics/HistogramProducerTest.java   | 19 +++++++++--------
 .../component/metrics/HistogramRouteTest.java      | 21 ++++++++-----------
 .../camel/component/metrics/MeterEndpointTest.java | 18 ++++++++--------
 .../camel/component/metrics/MeterProducerTest.java | 19 +++++++++--------
 .../camel/component/metrics/MeterRouteTest.java    | 21 ++++++++-----------
 .../metrics/MetricComponentSpringTest.java         | 13 +++++-------
 .../metrics/MetricsComponentRouteTest.java         |  4 ++--
 .../component/metrics/MetricsComponentTest.java    | 20 ++++++++++--------
 .../component/metrics/MetricsEndpointTest.java     | 24 ++++++++++++----------
 .../camel/component/metrics/MetricsTypeTest.java   |  4 ++--
 .../camel/component/metrics/TimerEndpointTest.java | 18 ++++++++--------
 .../camel/component/metrics/TimerProducerTest.java | 21 ++++++++++---------
 .../camel/component/metrics/TimerRouteTest.java    | 21 ++++++++-----------
 .../ExceptionRouteMetricsMessageHistoryTest.java   | 12 +++++++++--
 .../messagehistory/ManagedMessageHistoryTest.java  | 13 ++++++++++--
 .../messagehistory/MetricsMessageHistoryTest.java  | 12 +++++++++--
 .../SpringMetricsMessageHistoryTest.java           | 12 +++++++++--
 .../routepolicy/ManagedMetricsRoutePolicyTest.java | 12 +++++++++--
 .../MetricsRoutePolicyMulticastSubRouteTest.java   |  8 +++++---
 .../MetricsRoutePolicySubRouteTest.java            |  6 ++++--
 .../routepolicy/MetricsRoutePolicyTest.java        |  6 ++++--
 .../spi/InstrumentedThreadPoolFactoryTest.java     | 14 ++++++-------
 31 files changed, 264 insertions(+), 222 deletions(-)

diff --git a/components/camel-metrics/pom.xml b/components/camel-metrics/pom.xml
index 13a69e3..61a7c4b 100644
--- a/components/camel-metrics/pom.xml
+++ b/components/camel-metrics/pom.xml
@@ -67,7 +67,7 @@
         <!-- testing -->
         <dependency>
             <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test</artifactId>
+            <artifactId>camel-test-junit5</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
@@ -87,17 +87,17 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-spring</artifactId>
+            <artifactId>camel-test-spring-junit5</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.mockito</groupId>
-            <artifactId>mockito-core</artifactId>
+            <artifactId>mockito-junit-jupiter</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter</artifactId>
             <scope>test</scope>
             <exclusions>
                 <exclusion>
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/AbstractMetricsProducerTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/AbstractMetricsProducerTest.java
index 6369708..235b832 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/AbstractMetricsProducerTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/AbstractMetricsProducerTest.java
@@ -21,23 +21,24 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.support.DefaultMessage;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.InOrder;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 
 import static org.apache.camel.component.metrics.AbstractMetricsProducer.HEADER_PATTERN;
 import static org.apache.camel.component.metrics.MetricsConstants.HEADER_HISTOGRAM_VALUE;
 import static org.apache.camel.component.metrics.MetricsConstants.HEADER_METRIC_NAME;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThat;
+import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.when;
 
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
 public class AbstractMetricsProducerTest {
 
     public static final String METRIC_NAME = "a metric";
@@ -60,7 +61,7 @@ public class AbstractMetricsProducerTest {
 
     private InOrder inOrder;
 
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
         okProducer = new AbstractMetricsProducer(endpoint) {
             @Override
@@ -75,9 +76,9 @@ public class AbstractMetricsProducerTest {
             }
         };
         inOrder = Mockito.inOrder(endpoint, exchange, in, registry);
-        when(exchange.getIn()).thenReturn(in);
-        when(endpoint.getMetricsName()).thenReturn(METRIC_NAME);
-        when(endpoint.getRegistry()).thenReturn(registry);
+        lenient().when(exchange.getIn()).thenReturn(in);
+        lenient().when(endpoint.getMetricsName()).thenReturn(METRIC_NAME);
+        lenient().when(endpoint.getRegistry()).thenReturn(registry);
     }
 
     @Test
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/CounterEndpointTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/CounterEndpointTest.java
index 694c2df..598b7a8 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/CounterEndpointTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/CounterEndpointTest.java
@@ -18,22 +18,22 @@ package org.apache.camel.component.metrics;
 
 import com.codahale.metrics.MetricRegistry;
 import org.apache.camel.Producer;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.InOrder;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.instanceOf;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.notNullValue;
 import static org.hamcrest.Matchers.nullValue;
-import static org.junit.Assert.assertThat;
 
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
 public class CounterEndpointTest {
 
     private static final String METRICS_NAME = "metrics.name";
@@ -46,13 +46,13 @@ public class CounterEndpointTest {
 
     private InOrder inOrder;
 
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
         endpoint = new MetricsEndpoint(null, null, registry, MetricsType.COUNTER, METRICS_NAME);
         inOrder = Mockito.inOrder(registry);
     }
 
-    @After
+    @AfterEach
     public void tearDown() {
         inOrder.verifyNoMoreInteractions();
     }
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/CounterProducerTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/CounterProducerTest.java
index 51df468..8a1ced9 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/CounterProducerTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/CounterProducerTest.java
@@ -20,22 +20,26 @@ import com.codahale.metrics.Counter;
 import com.codahale.metrics.MetricRegistry;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.InOrder;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
+import org.mockito.junit.jupiter.MockitoSettings;
+import org.mockito.quality.Strictness;
 
 import static org.apache.camel.component.metrics.MetricsConstants.HEADER_COUNTER_DECREMENT;
 import static org.apache.camel.component.metrics.MetricsConstants.HEADER_COUNTER_INCREMENT;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThat;
+import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.when;
 
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
+@MockitoSettings(strictness = Strictness.LENIENT)
 public class CounterProducerTest {
 
     private static final String METRICS_NAME = "metrics.name";
@@ -61,12 +65,12 @@ public class CounterProducerTest {
 
     private InOrder inOrder;
 
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
         producer = new CounterProducer(endpoint);
         inOrder = Mockito.inOrder(endpoint, exchange, registry, counter, in);
-        when(registry.counter(METRICS_NAME)).thenReturn(counter);
-        when(exchange.getIn()).thenReturn(in);
+        lenient().when(registry.counter(METRICS_NAME)).thenReturn(counter);
+        lenient().when(exchange.getIn()).thenReturn(in);
     }
 
     @Test
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/CounterRouteTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/CounterRouteTest.java
index ecd4d44..35b668e 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/CounterRouteTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/CounterRouteTest.java
@@ -27,13 +27,11 @@ import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.spring.javaconfig.SingleRouteCamelConfiguration;
-import org.apache.camel.test.spring.CamelSpringDelegatingTestContextLoader;
-import org.apache.camel.test.spring.CamelSpringRunner;
-import org.apache.camel.test.spring.MockEndpoints;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.apache.camel.test.spring.junit5.CamelSpringTest;
+import org.apache.camel.test.spring.junit5.MockEndpoints;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockito.InOrder;
 import org.mockito.Mockito;
 import org.springframework.context.annotation.Bean;
@@ -49,10 +47,9 @@ import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.when;
 
-@RunWith(CamelSpringRunner.class)
+@CamelSpringTest
 @ContextConfiguration(
-        classes = { CounterRouteTest.TestConfig.class },
-        loader = CamelSpringDelegatingTestContextLoader.class)
+        classes = { CounterRouteTest.TestConfig.class })
 @MockEndpoints
 public class CounterRouteTest {
 
@@ -114,7 +111,7 @@ public class CounterRouteTest {
         }
     }
 
-    @Before
+    @BeforeEach
     public void setup() {
         // TODO - 12.05.2014, Lauri - is there any better way to set this up?
         mockRegistry = endpoint.getCamelContext().getRegistry().lookupByNameAndType(METRIC_REGISTRY_NAME, MetricRegistry.class);
@@ -122,7 +119,7 @@ public class CounterRouteTest {
         inOrder = Mockito.inOrder(mockRegistry, mockCounter);
     }
 
-    @After
+    @AfterEach
     public void tearDown() {
         endpoint.reset();
         reset(mockRegistry, mockCounter);
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/GaugeEndpointTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/GaugeEndpointTest.java
index a03b3de..5b5483d 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/GaugeEndpointTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/GaugeEndpointTest.java
@@ -18,19 +18,19 @@ package org.apache.camel.component.metrics;
 
 import com.codahale.metrics.MetricRegistry;
 import org.apache.camel.Producer;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.instanceOf;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.notNullValue;
 import static org.hamcrest.Matchers.nullValue;
-import static org.junit.Assert.assertThat;
 
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
 public class GaugeEndpointTest {
 
     private static final String METRICS_NAME = "metrics.name";
@@ -41,7 +41,7 @@ public class GaugeEndpointTest {
 
     private MetricsEndpoint endpoint;
 
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
         endpoint = new MetricsEndpoint(null, null, registry, MetricsType.GAUGE, METRICS_NAME);
     }
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/GaugeProducerTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/GaugeProducerTest.java
index b0a38c4..6bfc0ad 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/GaugeProducerTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/GaugeProducerTest.java
@@ -20,23 +20,24 @@ import com.codahale.metrics.MetricRegistry;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.component.metrics.GaugeProducer.CamelMetricsGauge;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.ArgumentMatcher;
 import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 
 import static org.apache.camel.component.metrics.MetricsConstants.HEADER_GAUGE_SUBJECT;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThat;
 import static org.mockito.Mockito.argThat;
 import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
 public class GaugeProducerTest {
 
     private static final String METRICS_NAME = "metrics.name";
@@ -58,12 +59,12 @@ public class GaugeProducerTest {
 
     private GaugeProducer producer;
 
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
-        when(endpoint.getRegistry()).thenReturn(registry);
-        when(endpoint.getSubject()).thenReturn(VALUE);
-        when(endpoint.getMetricsName()).thenReturn(METRICS_NAME);
-        when(exchange.getIn()).thenReturn(in);
+        lenient().when(endpoint.getRegistry()).thenReturn(registry);
+        lenient().when(endpoint.getSubject()).thenReturn(VALUE);
+        lenient().when(endpoint.getMetricsName()).thenReturn(METRICS_NAME);
+        lenient().when(exchange.getIn()).thenReturn(in);
         producer = new GaugeProducer(endpoint);
     }
 
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/GaugeRouteTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/GaugeRouteTest.java
index 24666e0..ec63b55 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/GaugeRouteTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/GaugeRouteTest.java
@@ -28,13 +28,11 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.metrics.GaugeProducer.CamelMetricsGauge;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.spring.javaconfig.SingleRouteCamelConfiguration;
-import org.apache.camel.test.spring.CamelSpringDelegatingTestContextLoader;
-import org.apache.camel.test.spring.CamelSpringRunner;
-import org.apache.camel.test.spring.MockEndpoints;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.apache.camel.test.spring.junit5.CamelSpringTest;
+import org.apache.camel.test.spring.junit5.MockEndpoints;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockito.ArgumentMatcher;
 import org.mockito.Mockito;
 import org.mockito.invocation.InvocationOnMock;
@@ -54,10 +52,9 @@ import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-@RunWith(CamelSpringRunner.class)
+@CamelSpringTest
 @ContextConfiguration(
-        classes = { GaugeRouteTest.TestConfig.class },
-        loader = CamelSpringDelegatingTestContextLoader.class)
+        classes = { GaugeRouteTest.TestConfig.class })
 @MockEndpoints
 public class GaugeRouteTest {
 
@@ -119,13 +116,13 @@ public class GaugeRouteTest {
         }
     }
 
-    @Before
+    @BeforeEach
     public void setup() {
         // TODO - 12.05.2014, Lauri - is there any better way to set this up?
         mockRegistry = endpoint.getCamelContext().getRegistry().lookupByNameAndType(METRIC_REGISTRY_NAME, MetricRegistry.class);
     }
 
-    @After
+    @AfterEach
     public void tearDown() {
         endpoint.reset();
         mockGauges.clear();
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/HistogramEndpointTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/HistogramEndpointTest.java
index b9ad844..d122d06 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/HistogramEndpointTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/HistogramEndpointTest.java
@@ -18,22 +18,22 @@ package org.apache.camel.component.metrics;
 
 import com.codahale.metrics.MetricRegistry;
 import org.apache.camel.Producer;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.InOrder;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.instanceOf;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.notNullValue;
 import static org.hamcrest.Matchers.nullValue;
-import static org.junit.Assert.assertThat;
 
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
 public class HistogramEndpointTest {
 
     private static final String METRICS_NAME = "metrics.name";
@@ -46,13 +46,13 @@ public class HistogramEndpointTest {
 
     private InOrder inOrder;
 
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
         endpoint = new MetricsEndpoint(null, null, registry, MetricsType.HISTOGRAM, METRICS_NAME);
         inOrder = Mockito.inOrder(registry);
     }
 
-    @After
+    @AfterEach
     public void tearDown() throws Exception {
         inOrder.verifyNoMoreInteractions();
     }
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/HistogramProducerTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/HistogramProducerTest.java
index c773a5d..050136d 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/HistogramProducerTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/HistogramProducerTest.java
@@ -20,21 +20,22 @@ import com.codahale.metrics.Histogram;
 import com.codahale.metrics.MetricRegistry;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.InOrder;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 
 import static org.apache.camel.component.metrics.MetricsConstants.HEADER_HISTOGRAM_VALUE;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThat;
+import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.when;
 
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
 public class HistogramProducerTest {
 
     private static final String METRICS_NAME = "metrics.name";
@@ -59,12 +60,12 @@ public class HistogramProducerTest {
 
     private InOrder inOrder;
 
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
         producer = new HistogramProducer(endpoint);
         inOrder = Mockito.inOrder(endpoint, registry, histogram, exchange, in);
-        when(registry.histogram(METRICS_NAME)).thenReturn(histogram);
-        when(exchange.getIn()).thenReturn(in);
+        lenient().when(registry.histogram(METRICS_NAME)).thenReturn(histogram);
+        lenient().when(exchange.getIn()).thenReturn(in);
     }
 
     @Test
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/HistogramRouteTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/HistogramRouteTest.java
index 3a6484d..01aef81 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/HistogramRouteTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/HistogramRouteTest.java
@@ -24,13 +24,11 @@ import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.spring.javaconfig.SingleRouteCamelConfiguration;
-import org.apache.camel.test.spring.CamelSpringDelegatingTestContextLoader;
-import org.apache.camel.test.spring.CamelSpringRunner;
-import org.apache.camel.test.spring.MockEndpoints;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.apache.camel.test.spring.junit5.CamelSpringTest;
+import org.apache.camel.test.spring.junit5.MockEndpoints;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockito.InOrder;
 import org.mockito.Mockito;
 import org.springframework.context.annotation.Bean;
@@ -44,10 +42,9 @@ import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.when;
 
-@RunWith(CamelSpringRunner.class)
+@CamelSpringTest
 @ContextConfiguration(
-        classes = { HistogramRouteTest.TestConfig.class },
-        loader = CamelSpringDelegatingTestContextLoader.class)
+        classes = { HistogramRouteTest.TestConfig.class })
 @MockEndpoints
 public class HistogramRouteTest {
 
@@ -86,7 +83,7 @@ public class HistogramRouteTest {
         }
     }
 
-    @Before
+    @BeforeEach
     public void setup() {
         // TODO - 12.05.2014, Lauri - is there any better way to set this up?
         mockRegistry = endpoint.getCamelContext().getRegistry().lookupByNameAndType(METRIC_REGISTRY_NAME, MetricRegistry.class);
@@ -94,7 +91,7 @@ public class HistogramRouteTest {
         inOrder = Mockito.inOrder(mockRegistry, mockHistogram);
     }
 
-    @After
+    @AfterEach
     public void tearDown() {
         endpoint.reset();
         reset(mockRegistry);
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MeterEndpointTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MeterEndpointTest.java
index 93ec448..8955b36 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MeterEndpointTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MeterEndpointTest.java
@@ -18,22 +18,22 @@ package org.apache.camel.component.metrics;
 
 import com.codahale.metrics.MetricRegistry;
 import org.apache.camel.Producer;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.InOrder;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.instanceOf;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.notNullValue;
 import static org.hamcrest.Matchers.nullValue;
-import static org.junit.Assert.assertThat;
 
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
 public class MeterEndpointTest {
 
     private static final String METRICS_NAME = "metrics.name";
@@ -46,13 +46,13 @@ public class MeterEndpointTest {
 
     private InOrder inOrder;
 
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
         endpoint = new MetricsEndpoint(null, null, registry, MetricsType.METER, METRICS_NAME);
         inOrder = Mockito.inOrder(registry);
     }
 
-    @After
+    @AfterEach
     public void tearDown() throws Exception {
         inOrder.verifyNoMoreInteractions();
     }
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MeterProducerTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MeterProducerTest.java
index 42ec6b5..c03372c 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MeterProducerTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MeterProducerTest.java
@@ -20,23 +20,24 @@ import com.codahale.metrics.Meter;
 import com.codahale.metrics.MetricRegistry;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.InOrder;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 
 import static org.apache.camel.component.metrics.MetricsConstants.HEADER_METER_MARK;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.notNullValue;
-import static org.junit.Assert.assertThat;
+import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.when;
 
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
 public class MeterProducerTest {
 
     private static final String METRICS_NAME = "metrics.name";
@@ -61,12 +62,12 @@ public class MeterProducerTest {
 
     private InOrder inOrder;
 
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
         producer = new MeterProducer(endpoint);
         inOrder = Mockito.inOrder(endpoint, registry, meter, exchange, in);
-        when(registry.meter(METRICS_NAME)).thenReturn(meter);
-        when(exchange.getIn()).thenReturn(in);
+        lenient().when(registry.meter(METRICS_NAME)).thenReturn(meter);
+        lenient().when(exchange.getIn()).thenReturn(in);
     }
 
     @Test
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MeterRouteTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MeterRouteTest.java
index daca0a8..7414e06 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MeterRouteTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MeterRouteTest.java
@@ -24,13 +24,11 @@ import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.spring.javaconfig.SingleRouteCamelConfiguration;
-import org.apache.camel.test.spring.CamelSpringDelegatingTestContextLoader;
-import org.apache.camel.test.spring.CamelSpringRunner;
-import org.apache.camel.test.spring.MockEndpoints;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.apache.camel.test.spring.junit5.CamelSpringTest;
+import org.apache.camel.test.spring.junit5.MockEndpoints;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockito.InOrder;
 import org.mockito.Mockito;
 import org.springframework.context.annotation.Bean;
@@ -44,10 +42,9 @@ import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.when;
 
-@RunWith(CamelSpringRunner.class)
+@CamelSpringTest
 @ContextConfiguration(
-        classes = { MeterRouteTest.TestConfig.class },
-        loader = CamelSpringDelegatingTestContextLoader.class)
+        classes = { MeterRouteTest.TestConfig.class })
 @MockEndpoints
 public class MeterRouteTest {
 
@@ -93,7 +90,7 @@ public class MeterRouteTest {
         }
     }
 
-    @Before
+    @BeforeEach
     public void setup() {
         // TODO - 12.05.2014, Lauri - is there any better way to set this up?
         mockRegistry = endpoint.getCamelContext().getRegistry().lookupByNameAndType(METRIC_REGISTRY_NAME, MetricRegistry.class);
@@ -102,7 +99,7 @@ public class MeterRouteTest {
         when(mockRegistry.meter("A")).thenReturn(mockMeter);
     }
 
-    @After
+    @AfterEach
     public void tearDown() {
         endpoint.reset();
         reset(mockRegistry, mockMeter);
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricComponentSpringTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricComponentSpringTest.java
index 261a7e5..95fa7e2 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricComponentSpringTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricComponentSpringTest.java
@@ -24,11 +24,9 @@ import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.spring.javaconfig.SingleRouteCamelConfiguration;
-import org.apache.camel.test.spring.CamelSpringDelegatingTestContextLoader;
-import org.apache.camel.test.spring.CamelSpringRunner;
-import org.apache.camel.test.spring.MockEndpoints;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.apache.camel.test.spring.junit5.CamelSpringTest;
+import org.apache.camel.test.spring.junit5.MockEndpoints;
+import org.junit.jupiter.api.Test;
 import org.mockito.InOrder;
 import org.mockito.Mockito;
 import org.springframework.context.annotation.Bean;
@@ -38,10 +36,9 @@ import org.springframework.test.context.ContextConfiguration;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.when;
 
-@RunWith(CamelSpringRunner.class)
+@CamelSpringTest
 @ContextConfiguration(
-        classes = { MetricComponentSpringTest.TestConfig.class },
-        loader = CamelSpringDelegatingTestContextLoader.class)
+        classes = { MetricComponentSpringTest.TestConfig.class })
 @MockEndpoints
 public class MetricComponentSpringTest {
 
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsComponentRouteTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsComponentRouteTest.java
index 2cf0f20..f78f2ca 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsComponentRouteTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsComponentRouteTest.java
@@ -24,8 +24,8 @@ import org.apache.camel.Produce;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
+import org.apache.camel.test.junit5.CamelTestSupport;
+import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.metrics.MetricsConstants.HEADER_HISTOGRAM_VALUE;
 import static org.apache.camel.component.metrics.MetricsConstants.HEADER_METRIC_NAME;
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsComponentTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsComponentTest.java
index 12969dc..8df0fdc 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsComponentTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsComponentTest.java
@@ -27,25 +27,26 @@ import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.impl.engine.DefaultBeanIntrospection;
 import org.apache.camel.spi.Registry;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.InOrder;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.instanceOf;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.not;
 import static org.hamcrest.Matchers.notNullValue;
-import static org.junit.Assert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.AdditionalAnswers.returnsFirstArg;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.when;
 
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
 public class MetricsComponentTest {
 
     @Mock
@@ -61,7 +62,7 @@ public class MetricsComponentTest {
 
     private MetricsComponent component;
 
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
         component = new MetricsComponent();
         inOrder = Mockito.inOrder(camelContext, camelRegistry, metricRegistry);
@@ -191,9 +192,10 @@ public class MetricsComponentTest {
         assertThat(component.getMetricsType("no-metrics-type"), is(MetricsComponent.DEFAULT_METRICS_TYPE));
     }
 
-    @Test(expected = RuntimeCamelException.class)
+    @Test
     public void testGetMetricsTypeNotFound() throws Exception {
-        component.getMetricsType("unknown-metrics:metrics-name");
+        assertThrows(RuntimeCamelException.class,
+            () -> component.getMetricsType("unknown-metrics:metrics-name"));
     }
 
     @Test
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsEndpointTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsEndpointTest.java
index f40d34f..8595b2b 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsEndpointTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsEndpointTest.java
@@ -22,19 +22,20 @@ import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.RuntimeCamelException;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.InOrder;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
 public class MetricsEndpointTest {
 
     private static final String METRICS_NAME = "metrics.name";
@@ -55,7 +56,7 @@ public class MetricsEndpointTest {
 
     private InOrder inOrder;
 
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
         endpoint = new MetricsEndpoint(null, null, registry, MetricsType.METER, METRICS_NAME) {
             @Override
@@ -71,7 +72,7 @@ public class MetricsEndpointTest {
         inOrder = Mockito.inOrder(registry, processor, exchange, in);
     }
 
-    @After
+    @AfterEach
     public void tearDown() throws Exception {
         inOrder.verifyNoMoreInteractions();
     }
@@ -82,9 +83,10 @@ public class MetricsEndpointTest {
         assertThat(endpoint.getRegistry(), is(registry));
     }
 
-    @Test(expected = RuntimeCamelException.class)
+    @Test
     public void testCreateConsumer() throws Exception {
-        endpoint.createConsumer(processor);
+        assertThrows(RuntimeCamelException.class,
+            () -> endpoint.createConsumer(processor));
     }
 
     @Test
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsTypeTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsTypeTest.java
index 435eccc..6c866b3 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsTypeTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsTypeTest.java
@@ -18,10 +18,10 @@ package org.apache.camel.component.metrics;
 
 import java.util.EnumSet;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThat;
 
 public class MetricsTypeTest {
 
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/TimerEndpointTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/TimerEndpointTest.java
index 62ffbc9..960504a 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/TimerEndpointTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/TimerEndpointTest.java
@@ -18,22 +18,22 @@ package org.apache.camel.component.metrics;
 
 import com.codahale.metrics.MetricRegistry;
 import org.apache.camel.Producer;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.InOrder;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.instanceOf;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.notNullValue;
 import static org.hamcrest.Matchers.nullValue;
-import static org.junit.Assert.assertThat;
 
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
 public class TimerEndpointTest {
 
     private static final String METRICS_NAME = "metrics.name";
@@ -45,13 +45,13 @@ public class TimerEndpointTest {
 
     private InOrder inOrder;
 
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
         endpoint = new MetricsEndpoint(null, null, registry, MetricsType.TIMER, METRICS_NAME);
         inOrder = Mockito.inOrder(registry);
     }
 
-    @After
+    @AfterEach
     public void tearDown() throws Exception {
         inOrder.verifyNoMoreInteractions();
     }
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/TimerProducerTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/TimerProducerTest.java
index 2d15f26..0b5adf4 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/TimerProducerTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/TimerProducerTest.java
@@ -20,23 +20,24 @@ import com.codahale.metrics.MetricRegistry;
 import com.codahale.metrics.Timer;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.InOrder;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 
 import static org.apache.camel.component.metrics.MetricsConstants.HEADER_TIMER_ACTION;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.notNullValue;
 import static org.hamcrest.Matchers.nullValue;
-import static org.junit.Assert.assertThat;
+import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.when;
 
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
 public class TimerProducerTest {
 
     private static final String METRICS_NAME = "metrics.name";
@@ -65,13 +66,13 @@ public class TimerProducerTest {
     @Mock
     private InOrder inOrder;
 
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
         producer = new TimerProducer(endpoint);
         inOrder = Mockito.inOrder(endpoint, exchange, registry, timer, context, in);
-        when(registry.timer(METRICS_NAME)).thenReturn(timer);
-        when(timer.time()).thenReturn(context);
-        when(exchange.getIn()).thenReturn(in);
+        lenient().when(registry.timer(METRICS_NAME)).thenReturn(timer);
+        lenient().when(timer.time()).thenReturn(context);
+        lenient().when(exchange.getIn()).thenReturn(in);
     }
 
     @Test
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/TimerRouteTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/TimerRouteTest.java
index de4c2c7..d613a0c 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/TimerRouteTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/TimerRouteTest.java
@@ -24,13 +24,11 @@ import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.spring.javaconfig.SingleRouteCamelConfiguration;
-import org.apache.camel.test.spring.CamelSpringDelegatingTestContextLoader;
-import org.apache.camel.test.spring.CamelSpringRunner;
-import org.apache.camel.test.spring.MockEndpoints;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.apache.camel.test.spring.junit5.CamelSpringTest;
+import org.apache.camel.test.spring.junit5.MockEndpoints;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.mockito.InOrder;
 import org.mockito.Mockito;
 import org.springframework.context.annotation.Bean;
@@ -44,10 +42,9 @@ import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.when;
 
-@RunWith(CamelSpringRunner.class)
+@CamelSpringTest
 @ContextConfiguration(
-        classes = { TimerRouteTest.TestConfig.class },
-        loader = CamelSpringDelegatingTestContextLoader.class)
+        classes = { TimerRouteTest.TestConfig.class })
 @MockEndpoints
 public class TimerRouteTest {
 
@@ -93,7 +90,7 @@ public class TimerRouteTest {
         }
     }
 
-    @Before
+    @BeforeEach
     public void setup() {
         // TODO - 12.05.2014, Lauri - is there any better way to set this up?
         mockRegistry = endpoint.getCamelContext().getRegistry().lookupByNameAndType(METRIC_REGISTRY_NAME, MetricRegistry.class);
@@ -101,7 +98,7 @@ public class TimerRouteTest {
         inOrder = Mockito.inOrder(mockRegistry, mockTimer);
     }
 
-    @After
+    @AfterEach
     public void tearDown() {
         endpoint.reset();
         reset(mockRegistry, mockTimer);
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/ExceptionRouteMetricsMessageHistoryTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/ExceptionRouteMetricsMessageHistoryTest.java
index 59c2297..ea55a1e 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/ExceptionRouteMetricsMessageHistoryTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/ExceptionRouteMetricsMessageHistoryTest.java
@@ -21,11 +21,19 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
+import org.apache.camel.test.junit5.CamelTestSupport;
+import org.junit.jupiter.api.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class ExceptionRouteMetricsMessageHistoryTest extends CamelTestSupport {
 
+    private final Logger log = LoggerFactory.getLogger(getClass());
+
     private MetricRegistry registry = new MetricRegistry();
 
     @Override
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/ManagedMessageHistoryTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/ManagedMessageHistoryTest.java
index 6769770..29f99d0 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/ManagedMessageHistoryTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/ManagedMessageHistoryTest.java
@@ -26,11 +26,20 @@ import org.apache.camel.BindToRegistry;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.metrics.MetricsComponent;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
+import org.apache.camel.test.junit5.CamelTestSupport;
+import org.junit.jupiter.api.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class ManagedMessageHistoryTest extends CamelTestSupport {
 
+    private final Logger log = LoggerFactory.getLogger(getClass());
+
     @BindToRegistry(MetricsComponent.METRIC_REGISTRY_NAME)
     private MetricRegistry metricRegistry = new MetricRegistry();
 
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryTest.java
index 8093d4f..3134dd0 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/MetricsMessageHistoryTest.java
@@ -19,11 +19,19 @@ package org.apache.camel.component.metrics.messagehistory;
 import com.codahale.metrics.MetricRegistry;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
+import org.apache.camel.test.junit5.CamelTestSupport;
+import org.junit.jupiter.api.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class MetricsMessageHistoryTest extends CamelTestSupport {
 
+    private final Logger log = LoggerFactory.getLogger(getClass());
+
     private MetricRegistry registry = new MetricRegistry();
 
     @Override
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/SpringMetricsMessageHistoryTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/SpringMetricsMessageHistoryTest.java
index 467aecf..449a550 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/SpringMetricsMessageHistoryTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/messagehistory/SpringMetricsMessageHistoryTest.java
@@ -17,13 +17,21 @@
 package org.apache.camel.component.metrics.messagehistory;
 
 import com.codahale.metrics.MetricRegistry;
-import org.apache.camel.test.spring.CamelSpringTestSupport;
-import org.junit.Test;
+import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
+import org.junit.jupiter.api.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.context.support.AbstractApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
 public class SpringMetricsMessageHistoryTest extends CamelSpringTestSupport {
 
+    private final Logger log = LoggerFactory.getLogger(getClass());
+
     @Override
     protected AbstractApplicationContext createApplicationContext() {
         return new ClassPathXmlApplicationContext("org/apache/camel/component/metrics/messagehistory/SpringMetricsMessageHistoryTest.xml");
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/ManagedMetricsRoutePolicyTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/ManagedMetricsRoutePolicyTest.java
index e5c26eb..51e9639 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/ManagedMetricsRoutePolicyTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/ManagedMetricsRoutePolicyTest.java
@@ -26,11 +26,19 @@ import org.apache.camel.BindToRegistry;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.metrics.MetricsComponent;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
+import org.apache.camel.test.junit5.CamelTestSupport;
+import org.junit.jupiter.api.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class ManagedMetricsRoutePolicyTest extends CamelTestSupport {
 
+    private final Logger log = LoggerFactory.getLogger(getClass());
+
     @BindToRegistry(MetricsComponent.METRIC_REGISTRY_NAME)
     private MetricRegistry metricRegistry = new MetricRegistry();
 
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyMulticastSubRouteTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyMulticastSubRouteTest.java
index 6ccfca7..bf8b332 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyMulticastSubRouteTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyMulticastSubRouteTest.java
@@ -22,8 +22,10 @@ import com.codahale.metrics.MetricRegistry;
 import com.codahale.metrics.Timer;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
+import org.apache.camel.test.junit5.CamelTestSupport;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * CAMEL-9226 - check metrics are counted correctly in multicast sub-routes
@@ -64,7 +66,7 @@ public class MetricsRoutePolicyMulticastSubRouteTest extends CamelTestSupport {
             String metricName = timerEntry.getKey();
             Timer timer = timerEntry.getValue();
             // each count should be 1
-            assertEquals("Count is wrong for " + metricName, 1, timer.getCount());
+            assertEquals(1, timer.getCount(), "Count is wrong for " + metricName);
         }
     }
 
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicySubRouteTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicySubRouteTest.java
index 2607ab0..d8caf7a 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicySubRouteTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicySubRouteTest.java
@@ -19,8 +19,10 @@ package org.apache.camel.component.metrics.routepolicy;
 import com.codahale.metrics.MetricRegistry;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
+import org.apache.camel.test.junit5.CamelTestSupport;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class MetricsRoutePolicySubRouteTest extends CamelTestSupport {
 
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyTest.java
index 392acf0..3f1f12c 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyTest.java
@@ -19,8 +19,10 @@ package org.apache.camel.component.metrics.routepolicy;
 import com.codahale.metrics.MetricRegistry;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
+import org.apache.camel.test.junit5.CamelTestSupport;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class MetricsRoutePolicyTest extends CamelTestSupport {
 
diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/spi/InstrumentedThreadPoolFactoryTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/spi/InstrumentedThreadPoolFactoryTest.java
index bb9dd4c..6a99989 100644
--- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/spi/InstrumentedThreadPoolFactoryTest.java
+++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/spi/InstrumentedThreadPoolFactoryTest.java
@@ -27,22 +27,22 @@ import com.codahale.metrics.MetricRegistry;
 import org.apache.camel.spi.ThreadPoolFactory;
 import org.apache.camel.spi.ThreadPoolProfile;
 import org.apache.camel.util.concurrent.ThreadPoolRejectedPolicy;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.InOrder;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.instanceOf;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.notNullValue;
-import static org.junit.Assert.assertThat;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.times;
 
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
 public class InstrumentedThreadPoolFactoryTest {
 
     private static final String METRICS_NAME = "metrics.name";
@@ -62,7 +62,7 @@ public class InstrumentedThreadPoolFactoryTest {
 
     private InOrder inOrder;
 
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
         profile = new ThreadPoolProfile(METRICS_NAME);
         profile.setDefaultProfile(false);