camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "" <>
Subject Re: mock.expectedMessageCount(0) resulting in a false positive
Date Thu, 13 Dec 2012 12:51:46 GMT
Hi Babak,

Thanks a lot for your reply, it confirms what I suspected from looking
through the source. I can see that when you setExpectedMessageCount(0),
there is no countdown latch, resulting in the mock being asserted on pretty
much straight away.

I don't really like the MockEndpoint.setSleepForEmptyTest() idea as it's
pretty much analogous to sticking an arbitrary Thread.sleep() into the code.

The NotifyBuilder example seems to work a lot nicer however, thanks a lot
for your suggestion. I now have:

       // wait for the message to pass through the route before running the
        // JMS msgs are processed asynchronously creating a race condition
for the test.
        NotifyBuilder notify = new
        notify.matches(500, TimeUnit.MILLISECONDS);


And this is working as expected.

I'm a little surprised that there is not much mention of this potential race
condition when using the Camel testing framework - neither within the online
documentation nor within the Camel in Action book. It seems to be a pretty
big omission within what is otherwise an excellent and well documented

Thanks for your help.

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

View raw message