| = 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.* |