Over the course of time, we have added many unit tests and components to Apache Camel. So as of today we have more than 7300 unit tests and 100+ artifacts to test.
As a consequence doing a full test on the Camel source code would therefore take time. On a standard developer laptop, it could take 3 hours or more to run all the tests.
Of course we have an arsenal of CI servers that run full tests overnight at Apache, and also FuseSource. So there are plenty of opportunities to check tests results. But nevertheless it would be better if testing was faster, so when we do development on the Camel source code, we can more quickly run unit tests to ensure the changes dont break stuff.
So in recent time I have looked into improving this. I managed to optimize the Camel core so it boot up faster. For example the core will now hard-load the necessary core type converters, instead of doing a classpath scanning. Likewise we have changed the Camel test kit, to by default lazy load additional type converters on-demand. That cut down the need for doing a classpath scan for those additional type converters. This change alone is a great improvement when you have a lot of unit tests, as it all adds up.
There were some other improvements here and there that all helped as well. For example cutting down on the needed dependencies using when testing components.
So all together we have made the testing roughly 20% faster. That is a good improvement. For example we cut down 34m on testing time on the Apache CI servers.
These changes will make it into the next Apache Camel 2.8 release.