In the ever-evolving landscape of software testing, the choice between mocks and Testcontainers presents both opportunities and challenges. This talk, 'Mocks vs Testcontainers,' delves into the heart of this debate with a focus on four critical aspects. First, we'll explore how mocks, often more lightweight and faster, offer efficiency in resource usage compared to container-based systems. We'll then discuss the synchronous nature of mocks versus the asynchronous, often unpredictable responses from systems in containers, highlighting the impact on testing flow. The talk further examines the 'black box' nature of container systems, contrasting their limitations in interference and manipulation with the flexibility of mocks, especially in scenarios requiring error emulation for resilience testing. Finally, we'll address the crucial aspect where mocks fall short: accurately replicating the nuances of real, particularly distributed systems like Kafka Streams. This session aims to equip attendees with a comprehensive understanding of when and how to effectively employ mocks or Testcontainers, ensuring a robust and efficient testing strategy for their applications.
Ivan Ponomarev
Hello, I'm Ivan Ponomarev, currently a Staff Software Engineer at, where I spearhead the development of innovative solutions for creating high-quality data for application development and testing.
Before this, I tackled diverse challenges, from refining ERP systems to crafting real-time Internet data monitoring systems. Beyond my contributions to the industry, I'm also a faculty member at Northeastern University, London, where I blend practical tech insights with academic rigor. Additionally, I participate in a number of program committees for technical conferences.