WireMocha
WireMocha is an IntelliJ-based plugin that provides integration for the WireMock framework and the ecosystem around it.
It offers various tools to generate and validate WireMock related test code, to provide additional contextual information both in the JSON and Java DSLs including WireMock extensions, to interact with running WireMock servers, and more.
Official WireMock plugin
WireMocha is distinct from the official WireMock plugin developed by the WireMock team. There is minimal overlap between the two, and the latter provides additional features, so the feature set of them complement each other nicely.
WireMock Cloud support is not in the scope of WireMocha. That is provided by the official WireMock plugin.
Trial, licensing and support
The plugin is available via a paid license (including a 14-day free trial period) that you can purchase on the JetBrains Marketplace. You can find pricing and licensing details there.
The list of supported IDEs include all licensed and non-licensed versions of IntelliJ and other JetBrains IDEs.
Documentation
The documentation is split by functionatlity. The + markings below mean if the corresponding documentations contain details about those DSLs.
| Feature areas | JSON DSL | JAVA DSL | Includes extension features |
|---|---|---|---|
| Stubbing | + | + | grpc |
| Mapping files | + | ||
| Request matching | + | + | state, grpc |
| Response templating and Handlebars helpers | + | + | state, faker |
| JUnit 4 and JUnit 5 support | + | ||
| WireMockConfiguration | + | ||
| Language Injections | + | + | state |
| PostServeActions and ServeEventListeners | + | + | state |
| WireMock Admin API | + | ||
| WireMock Tool Window | |||
| Testcontainers modules | + | testcontainers-java | |
| Miscellaneous | + |
Dependencies
WireMocha depends on a few specific plugins whose absence alters the functionality of the plugin, and turns the following features on/off. Most ones are bundled with the IDE:
- JUnit (optional): JUnit Rule and extension field generation actions (see JUnit 4 Rules and JUnit 5 Extensions)
- IntelliLang (optional): various language injections (see Language Injections)
- XPathView+XSLT (optional): XPath specific language injections
- JSONPath (optional): JSONPath specified language injections
- Handlebars/Mustache (optional): Handlebars specific language injections (see Response templating)
- HTTP Client (optional, only in IntelliJ Ultimate): WireMock Admin API specific live templates and request generation based on Java code
- JSON (optional): various JSON specific features in stub mapping files
- Protocol Buffers (optional): helper features for the wiremock-grpc-extension (see Stubbing and Request Matching)