diff --git a/spring-boot-modules/spring-boot-camel/.gitignore b/spring-boot-modules/spring-boot-camel/.gitignore
new file mode 100644
index 0000000000..16be8f2193
--- /dev/null
+++ b/spring-boot-modules/spring-boot-camel/.gitignore
@@ -0,0 +1 @@
+/output/
diff --git a/spring-boot-modules/spring-boot-camel/pom.xml b/spring-boot-modules/spring-boot-camel/pom.xml
index 5bda1b2351..ecf7143808 100644
--- a/spring-boot-modules/spring-boot-camel/pom.xml
+++ b/spring-boot-modules/spring-boot-camel/pom.xml
@@ -44,6 +44,12 @@
spring-boot-starter-test
test
+
+ org.apache.camel
+ camel-test-spring-junit5
+ ${camel.version}
+ test
+
@@ -57,6 +63,9 @@
repackage
+
+ com.baeldung.camel.boot.testing.GreetingsFileSpringApplication
+
diff --git a/spring-boot-modules/spring-boot-camel/src/main/java/com/baeldung/camel/boot/testing/GreetingsFileRouter.java b/spring-boot-modules/spring-boot-camel/src/main/java/com/baeldung/camel/boot/testing/GreetingsFileRouter.java
new file mode 100644
index 0000000000..670af5e08c
--- /dev/null
+++ b/spring-boot-modules/spring-boot-camel/src/main/java/com/baeldung/camel/boot/testing/GreetingsFileRouter.java
@@ -0,0 +1,19 @@
+package com.baeldung.camel.boot.testing;
+
+import org.apache.camel.builder.RouteBuilder;
+import org.springframework.stereotype.Component;
+
+@Component
+public class GreetingsFileRouter extends RouteBuilder {
+
+ @Override
+ public void configure() throws Exception {
+
+ from("direct:start")
+ .routeId("greetings-route")
+ .setBody(constant("Hello Baeldung Readers!"))
+ .to("file:output");
+
+ }
+
+}
diff --git a/spring-boot-modules/spring-boot-camel/src/main/java/com/baeldung/camel/boot/testing/GreetingsFileSpringApplication.java b/spring-boot-modules/spring-boot-camel/src/main/java/com/baeldung/camel/boot/testing/GreetingsFileSpringApplication.java
new file mode 100644
index 0000000000..a4e862e65d
--- /dev/null
+++ b/spring-boot-modules/spring-boot-camel/src/main/java/com/baeldung/camel/boot/testing/GreetingsFileSpringApplication.java
@@ -0,0 +1,13 @@
+package com.baeldung.camel.boot.testing;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class GreetingsFileSpringApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(GreetingsFileSpringApplication.class, args);
+ }
+
+}
diff --git a/spring-boot-modules/spring-boot-camel/src/test/java/com/baeldung/camel/boot/testing/GreetingsFileRouterUnitTest.java b/spring-boot-modules/spring-boot-camel/src/test/java/com/baeldung/camel/boot/testing/GreetingsFileRouterUnitTest.java
new file mode 100644
index 0000000000..baeb1fd39c
--- /dev/null
+++ b/spring-boot-modules/spring-boot-camel/src/test/java/com/baeldung/camel/boot/testing/GreetingsFileRouterUnitTest.java
@@ -0,0 +1,32 @@
+package com.baeldung.camel.boot.testing;
+
+import org.apache.camel.EndpointInject;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.spring.junit5.CamelSpringBootTest;
+import org.apache.camel.test.spring.junit5.MockEndpoints;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+@CamelSpringBootTest
+@MockEndpoints("file:output")
+class GreetingsFileRouterUnitTest {
+
+ @Autowired
+ private ProducerTemplate template;
+
+ @EndpointInject("mock:file:output")
+ private MockEndpoint mock;
+
+ @Test
+ void whenSendBody_thenGreetingReceivedSuccessfully() throws InterruptedException {
+ mock.expectedBodiesReceived("Hello Baeldung Readers!");
+
+ template.sendBody("direct:start", null);
+
+ mock.assertIsSatisfied();
+ }
+
+}