We’re excited to announce WireMock joining the Testcontainers Official Modules program, recognizing the combination of WireMock and Testcontainers as a valuable way of simulating API for local development and testing.
WireMock is a popular open-source tool for API mock testing with over 5 million downloads a month. It helps you to simulate APIs that don’t exist yet and isolate yourself from flakey 3rd party dependencies. Started in 2011 by Tom Akehurst, WireMock now spans across multiple programming languages and technology stacks. It has implementations in other languages. It can run as a library or client wrapper in many languages and test frameworks, as a standalone server, or as the WireMock Cloud SaaS offering. And now it can run as a Testcontainers module too!
“When I started WireMock OSS, it was implemented as a Java library allowing standalone WireMock instances or embedding into Java tests. WireMock has been a huge success thanks to its rich matching and request templating capabilities, support for stateful behaviour and scenarios, and record-and-playback capabilities. It got adopted and partially implemented in many other technology stacks. ” – said Tom Akehurst, the WireMock OSS creator and the WireMock company CTO – “The Testcontainers technology and the official images allow us to bring the full power of WireMock’s Java implementation and WireMock Cloud to many technology stacks”.
WireMock is joining other official modules partners like Cockroach Labs, LocalStack, Neo4j, Redpanda, StreamNative, Yugabyte, Synthesized & Co in our list of official testcontainers modules. The WireMock module can run with Testcontainers, Testcontainers Desktop and Testcontainers Cloud.
“Self-contained tests are important for faster development and iteration. Developers love the flexibility of Testcontainers and WireMock to create effective tests that mock output from external APIs.” – said Eli Aleyner, a co-founder of AtomicJar – “We are thrilled to welcome WireMock to the Official Module program for Testcontainers and partner with WireMock for the benefit of the community”
Meet the official WireMock module:
As of now, the WireMock module offers implementations for 3 platforms, and more implementations are coming soon: Java, Golang, Python. You can learn more about these modules and other integrations on the WireMock and Testcontainers solutions page on the WireMock website. And yes WireMock has cool Gopher mascots too!
The WireMock team has also implemented an experimental implementation of Testcontainers for C/C++, powered by Testcontainers for Go. a C-style shared library adapter for native languages like C/C++, D, Lua, Swift, PHP, etc. It is an MVP SDK that can be later extended for the languages. There is also an experimental WireMock module there. If you develop for C/C++ and other native languages, check them out!
Join Oleg and Oleg at DevoxxBE
This week, AtomicJar is participating in Devoxx Belgium. Our developer advocates, Oleg Šelajev and Oleg Nenashev, will do a joint presentation on the integration, and on the API integration testing lifecycle with WireMock and Testcontainers.They will discuss the stories of developers working with complex APIs, and show how WireMock and Testcontainers could help to shift left your integration tests and remove the slowdown caused by service dependencies.
If you are interested to learn more about WireMock on Testcontainers, WireMock in general, WireMock and Testcontainers, join the AtomicJar booth at Devoxx BE. Both Olegs will be there!
Previously Oleg and Oleg also teamed up for a livestream about WireMock and Testcontainers, which you can watch to learn more about the technologies:
Also check out the introductory blogposts by the WireMock team:
- Java: WireMock module – Testcontainers for Java (also a video from the Java Israel meetup)
- Golang: Go WireMock with the Testcontainers for Go module!
- Python: Major update to the WireMock Python library and new Testcontainers module
About AtomicJar Inc.
AtomicJar is a company on a mission to make integration testing easier for developers across the software development lifecycle. Founded by the same team that maintains the most popular integration testing library, Testcontainers, AtomicJar is giving developers simpler methods for testing with containers and anything running inside containers, against the many dependencies code integrates with in production. For more information visit https://atomicjar.com or follow https://twitter.com/AtomicJarInc.
Testcontainers is an open source framework for providing throwaway, lightweight instances of databases, message brokers, web browsers, or just about anything that can run in a Docker container. With Testcontainers you can define your test dependencies as code, then simply run your tests and containers will be created and then deleted. It has a rich modules ecosystem that extend integrations with different services and provide additional configuration, observability and assertion APIs. Read More
WireMock is a popular open-source tool for API simulations (aka API mocking). It is used for integration testing of applications, especially via REST API. Started in 2011 as a Java library by Tom Akehurst, it now spans multiple programming languages and technology stacks. WireMock helps to create stable test and development environments, isolate code from flakey 3rd parties and simulate APIs that aren’t currently available. It can run as a test library, as a standalone server or via the WireMock Cloud service. With more than 300 contributors, 50+ integrations and 5+ million downloads a month, it is one of the most popular open source projects in its domain.
About WireMock, Inc.
WireMock Inc. is building software to unlock developer productivity by enabling collaborative API design, mocking APIs and eliminating slowdowns caused by external dependencies. The company was started in 2022 by Tom Akehurst and Uri Maoz becoming its CEO and CTO. WireMock Cloud, the company’s flagship product, is built on top of the WireMock open source project stewarded by the company.