Session: Making your own Testcontainers module for fun and profit!
Testcontainers libraries become more and more popular in different programming language ecosystems and are a de-facto standard for integration testing in the Java community. One of the reasons for its popularity is the ecosystem of the modules — pre-defined abstractions for creating containerized services for your tests in a single line of code.
In this session, we’ll look at the architecture of Testcontainers modules and learn how to hide a lot of complexity behind a valuable and neat abstraction.
You’ll learn the best practices around the lifecycle of Testcontainers: resource cleanup with Ryuk, waiting strategies, and out-of-the-box advanced data initialization options.
We’ll cover various options for compliance with in-house policies for Docker images, look at custom networking, and how you can offer developers a paved road to chaos engineering and other more involved topics.
Whether you’re working on technologies consumed via Testcontainers or want to improve your team’s productivity, creating a Testcontainers module is an excellent way to harness the complexity of your integration tests and contribute to the open source ecosystem!