Hey there! It's time for our August Testcontainers newsletter. This month, we officially announced that we are donating Testcontainers Cloud Desktop and its features to the community as a free Testcontainers Desktopapplication! Explore the advantages it provides and uncover the story behind its development in the Announcing Testcontainers Desktop Free Applicationblog post.
Testcontainers Desktop lets you configure development services to make them easy to debug, for example by setting a fixed port to connect your devtools. The app now ships with 15+ preconfigured configuration files, including postgres, kafka, and many others. Simply rename a file from .example to a .toml extension to get started with the corresponding technology.
Testcontainers Desktop lets you define services so you can connect your devtools to them via a fixed port. You can now open the services menu to verify at a glance which services are configured and the corresponding ports, as well as spot any service with a potential configuration issue.
Collaborative dashboards track your test sessions, across desktop and CI, to provide the entire team with insights into your development and testing patterns. Now that Testcontainers Desktop lets you easily switch container runtimes, the app also ensures that local container runtimes also automatically power the dashboards.
Testcontainers Cloud makes it easy to run reliable integration tests with real dependencies in your CI. So far, each worker had to pull container images before executing its tests, potentially extending jobs by up to a minute. With the new release, container images now remain available in-between CI runs whenever possible, leading to faster CI pipelines when they run successively. Read more...
In this blogpost we look at how you can use Testcontainers to create environment for running application locally, not just during the test execution. An elegant combination of Testcontainers, go build tags, and go init functions enables a surprisingly productive workflow for developing Go apps.
Quarkus has a very efficient integration with Testcontainers to enable its Dev Services functionality. In this blog post we explore how Testcontainers Desktop can improve how you work with Quarkus Dev Services.
Testcontainers-java 1.19.0 brings a bunch of changes to the core and modules: Added support for compose v2 with ComposeContainer; Ryuk is now enabled as a privileged container by default; added interface to customize CreateContainerCmd; added BigQueryEmulatorContainer; added questdb as a database provider. Also, now Kafka and RedPanda allow to register additional listeners (which makes using those with Toxiproxy for chaos testing much easier).
Testcontainers-dotnet 3.4.0 comes with a few breaking changes: the WithResourceMapping(string, string, UnixFileModes) obsolete flag has been removed, along with the obsolete member CopyFileAsync. Also, the Azure Data Explorer Kusto emulator module and ClickHouse module were added.
Testcontainers-go 0.23.0 provides new features like a couple of new modules (Apache ActiveMQ Artemis, MongoDB and ClickHouse), better integration with Docker credential helpers, and a bunch of bugfixes.
Testcontainers-node 10.2.1brings breaking changes from the 10.0.0 version, make sure to check those before updating. Most importantly, modules have been moved to their own packages. The modules are now live in the Testcontainers organization on NPM, so it's clear which modules are officially supported and published through Testcontainers.