Testing distributed event-driven systems is hard, but you can only ship with confidence when you have robust integration tests. In this session, we explore how Testcontainers libraries allow you programmatically create, manage the lifecycle, and configure ephemeral instances of Kafka. From spinning up individual Kafka services to creating complex cluster topologies, your tests control the environment they require and run the same in any development environment or in CI. Whether you're working on the JVM, writing Go, .NET, or node.js apps, the Testcontainers approach gives your flexibility and confidence to reliably test your code. After this session, you'll learn enough to start testing your Kafka, Kafka Streams or Connect applications without breaking a sweat.