camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gnanaguru S <>
Subject Unit testing each route in a large camel context
Date Fri, 04 Apr 2014 02:10:40 GMT

I have a came context like the below one. I am going to do unit testing for
each and every route. I am still wondering why no body has asked this
question early. ( May be I didnt find it )
How can I do unit testing for each and every route ? 

Camel context:

<camelContext id="Sample-Context">
		<route id="Start">
			<from uri=direct:A />
			<to uri=direct:B />
		<route id="Hop1">
			<from uri=direct:B />
			<to uri=direct:C />
		<route id="Hop2">
			<from uri=direct:C />
			<to uri=direct:D />
		<route id="Stop">
			<from uri=direct:D />
			<to uri=direct:E />

My current test strategy:

1. I have four different camelcontext  xml's under my test resources
2. I have created four different test classes using JUnit ( Supported by
3. If I take one route, I will mock the direct:B to mock:direct:B. 
4. Apply assertions to the mock endpoints. 

Alternative test strategy:

1. Instead of creating four different XML's, I can just keep one camel
context xml and add property placeholders. 
2. By changing the endpoints in the property placeholers, so that I can
logically disable the remaining routes. Because direct endpoints cannot have
more than one consumer and mock endpoint cannot have consumer at all. 

But of all this, Is there any other simplied way to do the testing ? For
large projects having large number of routes, Is there a way I can test
individual routes from the same camelcontext files ? Instead of having
multiple xml's. 

I will great appreciate your help. Also I am planning to develop an article
based on this conversation. Please drop in your ideas and comments. 

Camel is a wonderful framework with wonderful test endpoint like Mock. Mock
is very powerful in terms of asssertions, but wondering what are the other
ways to utilize it well in large camel context. 


View this message in context:
Sent from the Camel - Users mailing list archive at

View raw message