We start this effort with below directions:
+ Users should be able to keep old JUnit 4 tests for a while
+ Ideally, it would be possible to migrate camel test per camel test
+ Keeping CamelTestSupport class name and the test by inheritance approach would make adoption and migration easier
+ CamelTestSupport based tests looks more concise than tests that would use some kind of injection (e.g. injection of the CamelContext and so on)
+ Adding a new module would allow users to get rid of JUnit 4 when they want (they simply stop using camel-test)
Users who want to stay on JUnit4 can still use the camel-test module.
Users who want to migrate to JUnit5 could use the new camel-test-junit5 module and migrate their tests helped with the migration guide. Few camel components have been migrated, some tests could be migrated simply by changing few imports.
Note that it's possible to mix JUnit4 and JUnit5 tests by using camel-test, camel-test-junit5 in combination with junit-vintage-engine. Camel-xstream is intentionally mixing JUnit4/5 tests at this stage.