Stop breaking stuff all the time!

Presentation 📣

English 🇬🇧

Thursday, 3:40 – 4:40 PM

Length: 60 minutes

Room: Room 6

Abstract

Verifying behaviors of the cloud-native applications and ensuring that all of the services in the system work correctly together is both crucial and challenging. Manually maintaining environments to test the correctness of the entire system is undevops-like and fragile. Luckily, modern tools can help you to build automated, reliable test pipelines, and in this session, we explore how using Spring Cloud Contract and Testcontainers together can improve your testing and deployment processes. Spring Cloud Contract is an implementation of Consumer-Driven Contracts, an approach that provides a way to easily describe and verify APIs, at the same time allowing building API backward compatibility verification into the deployment process. Testcontainers lets developers programmatically build test environments consisting of real services running in lightweight and disposable containers. It turns the process of integration testing into a seamless, unit-test-like experience. In this presentation, we’ll show how contract and integration tests complement each other and explore one of the most natural and reliable approaches to service evolution with contract testing. We’ll discuss why in Spring Cloud Contract, we’ve decided to switch to using Testcontainers as the solution for Kafka and AMQP messaging verification and demonstrate practical use-cases and code examples of how to set up both types of tests in your applications and deployment pipelines.

Day & time

Thursday, 3:40 – 4:40 PM

Intended audience

Most of the developers could improve by learning a bit (more) about tests. If you're working with microservices (or big but connected services) you need to know about contract tests, and how to use them for evolving the system without breaking it. The experience of working with microservices will help to appreciate the problem better, but even junior developers will find this session inspiring and educational!

  • Oleg Šelajev

    Oleg Šelajev is a developer advocate at AtomicJar working on making integration tests with Testcontainers better for everyone in the community. VirtualJUG leader. In 2017 became a Java Champion.

    Twitter logo

    shelajev

  • Olga Maciaszek-Sharma

    Olga Maciaszek-Sharma is a Senior Software Engineer in the Spring Cloud Team at VMware, where she works primarily on Spring Cloud LoadBalancer, Spring Cloud Contract (of which she was the first user and one of the first contributors), Spring Cloud OpenFeign and Spring Cloud Netflix projects. She also works on native image support for Spring Cloud projects and contributes to RSocket Broker projects from time to time. She programs mostly using Java and Groovy.

    Twitter logo

    olga_maciaszek