A Java library that enables parallel execution of Spring Boot integration tests with embedded Camunda runtime. This library solves the challenge of running Camunda integration tests concurrently by providing the necessary infrastructure and utilities for test isolation.
Spring Boot integration tests with embedded Camunda runtime typically cannot run in parallel due to shared resources, database connections, and process engine state. This significantly increases CI/CD pipeline duration and slows down development feedback loops.
- Parallel Test Execution: Run multiple Camunda integration tests concurrently
- Resource Isolation: Automatic isolation of database connections and process engine instances
- Spring Boot Integration: Seamless integration with Spring Boot test infrastructure
- Easy Configuration: Minimal configuration required to enable parallel testing
- Camunda 7 Support: Built for Camunda BPM Platform 7 embedded in Spring Boot
Note: This library is currently in early development. Features are being actively implemented.
- Java 21+: Takes advantage of modern Java features and virtual threads
- Spring Boot 3.x: Compatible with Spring Boot 3.x series
- Camunda 7.x: Designed for Camunda BPM Platform 7 embedded in Spring Boot
- Gradle 8+ or Maven 3.6+: For building projects using this library
The fastest way to get started with development is using DevContainers:
-
Prerequisites:
- Install Docker
- Install Visual Studio Code
- Install the Dev Containers extension
-
Open in DevContainer:
git clone https://github.com/codepush-io/camunda-test-parallel.git cd camunda-test-parallel code .
- When prompted, click "Reopen in Container"
- Alternatively, use the command palette:
Dev Containers: Reopen in Container
-
Wait for initialization: The container will automatically build and configure the development environment with Java 21, Gradle, and all necessary tools.
If you prefer to develop without DevContainers:
-
Install Java 21:
- Download from Adoptium or use your preferred JDK distribution
- Verify installation:
java -version
-
Clone the repository:
git clone https://github.com/codepush-io/camunda-test-parallel.git cd camunda-test-parallel -
Build the project:
./gradlew build
./gradlew buildRun all tests:
./gradlew checkRun only unit tests:
./gradlew testRun only integration tests:
./gradlew integrationTestGenerate JAR files (including sources and javadoc):
./gradlew assemble./gradlew clean buildComing Soon: Usage examples and documentation will be added as the library features are implemented.
// Example usage will be provided once core features are implementedcamunda-test-parallel/
├── src/
│ ├── main/
│ │ ├── java/ # Library source code
│ │ └── resources/ # Library resources
│ ├── test/
│ │ ├── java/ # Unit tests
│ │ └── resources/ # Test resources
│ └── integrationTest/
│ ├── java/ # Integration tests
│ └── resources/ # Integration test resources
├── .devcontainer/ # DevContainer configuration
├── build.gradle.kts # Gradle build configuration
├── settings.gradle.kts # Gradle settings
└── README.md
We welcome contributions! Please see our Contributing Guidelines for details on:
- Setting up your development environment
- Code style and standards
- Submitting pull requests
- Reporting issues
- Core parallel execution infrastructure
- Database connection isolation
- Process engine instance isolation
- Spring Boot test annotations
- Configuration options
- Comprehensive documentation
- Example projects
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- Issues: Report bugs or request features via GitHub Issues
- Discussions: Join the conversation in GitHub Discussions
- Contributing: See CONTRIBUTING.md for how to get involved
This project is inspired by the need for faster feedback loops in Camunda-based applications and builds upon the excellent work of the Spring Boot and Camunda communities.