diff --git a/tests/camel-jmh/src/test/java/org/apache/camel/itest/jmh/StringHelperTest.java b/tests/camel-jmh/src/test/java/org/apache/camel/itest/jmh/StringHelperTest.java
index cc9bc1a..772efb0 100644
--- a/tests/camel-jmh/src/test/java/org/apache/camel/itest/jmh/StringHelperTest.java
+++ b/tests/camel-jmh/src/test/java/org/apache/camel/itest/jmh/StringHelperTest.java
@@ -39,6 +39,9 @@
 
     private String className = "java. lang. String";
 
+    private String betweenText = "Hello ${foo bar} how are you";
+
+
     @Test
     public void launchBenchmark() throws Exception {
         Options opt = new OptionsBuilder()
@@ -177,4 +180,18 @@
         bh.consume(StringHelper.sanitize(sanitazableText));
     }
 
+    @Benchmark
+    @BenchmarkMode(Mode.AverageTime)
+    @OutputTimeUnit(TimeUnit.MICROSECONDS)
+    public void testBetweenNegative(Blackhole bh) {
+        bh.consume(StringHelper.between(betweenText, "'", "'"));
+    }
+
+    @Benchmark
+    @BenchmarkMode(Mode.AverageTime)
+    @OutputTimeUnit(TimeUnit.MICROSECONDS)
+    public void testBetweenPositive(Blackhole bh) {
+        bh.consume(StringHelper.between(betweenText, "${", "}"));
+    }
+
 }
