This list contains a comparison with the most popular open source API simulation tools
Chosen criteria & Sources
| Criteria | Reason |
|---|---|
| Mocking in IntegrationTests | Gives an overview how this is done and describes how straightforward this can be integrated into (Java) code |
| Modularity | Monolithic/Non-modular packaging causes bloat and problems such as
|
| Testcontainers Integration | Testcontainers is the defacto standard for running integration tests. It utilizes containers, is highly flexible and has widespread use in the Java ecosystem. |
| Activity & Support | Unmaintained software won't get fixes for incompatibilities, issues, vulnerabilities, ... |
Sources:
| Tool | Mocking in IntegrationTests | Modularity | Testcontainers Integration | Activity & Support |
|---|---|---|---|---|
| MockServer NeoLight | ✔ Same as MockServer below | ✔ Split into a optimized client and server module | ✔ Yes | ✔ Yes |
| MockServer (original) | ✔ Provides a Java client that is used to create responses for certain requests Docs Testcontainer-Docs | ⚠ Split into a un-optimized client and server module | ✔ Yes | ❌ Inactive since >1 year |
| Microcks | ✔ Provides a Java API that is used to create responses for certain requests. Docs |
✔ Split into modules. ❓ Client is OpenAPI generated and currently in "alpha" stage. |
✔ Yes (but only native support for file based responses) |
✔ Active ❓ Developed by a company (with the same name) but only "community" support seems to be provided |
| WireMock | ✔ Provides a Java API that is used to create responses for certain requests. Docs Testcontainer-Docs | ❌ Monolithic - all client/server code in one module | ✔ Yes (but only native support for file based responses) | ✔ Active (dedicated support for their "Cloud" exists) |
| Karate | Custom programming language/syntax files Docs | ❌ Monolithic - nearly all code in "core" module | ❌ No | ✔ Active |
| Mockoon | ❌ Custom IDE Docs | n/a | ❌ No | ✔ Yes |
All values as of 2025-02