blob: 0aa499ffe62212bfb911db587e66cc6c1cb03b7b [file] [log] [blame]
= Camel Spring Boot Integration Tests
The camel-itest-spring-boot module provides an integration testing framework for camel components, to check their compatibility with spring-boot.
Each test-case defined in `src/test/java/org/apache/camel/itest/springboot` executes the following steps:
* Creates a spring-boot jar by putting the spring-boot loader, some utility classes in the main jar,
and all other libraries (including the camel component under test) as nested jars;
** Launches a new JVM including the spring-boot jar and test classes in the classpath, then starts the spring-boot platform;
** Executes a list of predefined checks in the spring-boot environment to verify that the component has been created correctly:
checks that the camel context has been created, that the camel components can be activated (including data format and languages).
== Additional options
Test options can be changed from the configuration of the maven-surefire-plugin in the `pom.xml` file.
Some useful options include:
* **itest.springboot.includeTestDependencies (default=true)**: when this option is enabled,
the integration test will locate the module `pom.xml` file and include in the spring-boot jar also the test-scoped dependencies of the module.
The inclusion of other libraries often activates some hidden behaviour of spring-boot.
* **itest.springboot.unitTestEnabled (default=false)**: when this option is enabled,
the integration test will locate the test-classes of the module and run the unit tests after the execution of the usual checks.
*Note: a full build of each component is required prior to running the unit tests. Test dependencies are implicitly included.*
*Note: logging dependencies (eg. `log4j`) are fixed automatically, to prevent conflict with spring-boot logging system.*