pact-workshop-Maven-Springboot-JUnit5 icon indicating copy to clipboard operation
pact-workshop-Maven-Springboot-JUnit5 copied to clipboard

Pact Maven + Springboot + JUnit5 workshop - learn Pact in 60 minutes

Pact Maven + Springboot + JUnit5 workshop

Introduction

This workshop is aimed at demonstrating core features and benefits of contract testing with Pact.

Whilst contract testing can be applied retrospectively to systems, we will follow the consumer driven contracts approach in this workshop - where a new consumer and provider are created in parallel to evolve a service over time, especially where there is some uncertainty with what is to be built.

This workshop should take from 1 to 2 hours, depending on how deep you want to go into each topic.

Workshop outline:

NOTE: Each step is tied to, and must be run within, a git branch, allowing you to progress through each stage incrementally. For example, to move to step 2 run the following: git checkout step2

Learning objectives

If running this as a team workshop format, you may want to take a look through the learning objectives.

Requirements

  • JDK 17 or above
  • Maven 3+
  • Docker for step 11

Scenario

There are two components in scope for our workshop.

  1. Product Catalog website. It provides an interface to query the Product service for product information.
  2. Product Service (Provider). Provides useful things about products, such as listing all products and getting the details of an individual product.

Start

Start at step 1