Unit test approach with the Camel test kit
Implementing a unit test basically means you bootstrap your routes—you load CamelContext
and routes in the tests, and it is ready to be executed.
You now define the endpoints that you want to mock, as follows:
On the mocked endpoints, you define assertions.
Create and inject exchanges at some points of the routes.
Check whether the assertions are verified.
Camel provides different test kits, depending on the DSL that you use to write your routes:
camel-test
is the core and abstract test kit that you can use if you use the Java DSL.camel-test-spring
extendscamel-test
, providing support for the Spring DSL.camel-test-blueprint
extendscamel-test
as well, and provides support for the Blueprint DSL. Additionally, it also provides an OSGi like service support leveraging iPOJO.
All Camel test kits provide:
JUnit extensions: JUnit is the most commonly adopted unit test framework for Java, and is freely available. Instead of reinventing the wheel, Camel directly...