Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Practical contract testing with Pact
Introduction to the course
Welcome to the course (1:31)
Setting the stage
The context for this course (2:28)
The current testing process and its challenges (3:00)
Contract testing - Concepts
What is a contract? (1:54)
What is contract testing? (2:08)
How is contract testing different from other approaches to integration testing? (3:10)
How is contract testing different from schema validation? (2:56)
Where does contract testing fit into your testing strategy? (2:44)
Different approaches to contract testing (5:04)
Contract testing - Concepts - Quiz
Contract testing - Concepts - Additional resources
The Pact ecosystem
Introducing Pact and the Pact ecosystem (4:12)
Introducing the Pact CI/CD implementation guide (6:16)
Generating consumer contracts
What goes into a consumer contract? (6:10)
Preparing your machine for the hands-on exercises (Java)
Generating a consumer contract (Java) (7:56)
Defining provider states (4:04)
Dealing with optional fields (3:00)
Generating consumer contracts - Quiz
Generating consumer contracts - Hands-on exercises (Java)
Publishing consumer contracts
Introducing the Pact Broker (3:44)
Publishing our contracts using the Pact CLI tools (2:54)
Publishing our contracts using the Pact Maven plugin (2:32)
Consumer contract versioning (3:24)
Publishing consumer contracts - Quiz
Publishing consumer contracts - hands-on exercises (all programming languages)
Verifying consumer contracts
Provider-side contract verification (Java) (5:14)
Publishing provider verification results (Java) (2:57)
Exploring the Pact verifier logs (2:10)
Verifying consumer contracts - hands-on exercises (Java)
Continuous Integration
Generate and publish consumer contracts in your pipeline (Java) (4:14)
Verify contracts and publish verification results in your pipeline (Java) (2:26)
Using webhooks (2:04)
Continuous Integration - hands-on exercises (all programming languages)
can-i-deploy
What does can-i-deploy do? (2:52)
Adding can-i-deploy to your pipeline (3:37)
can-i-deploy - hands-on exercises (all programming languages)
What happens when our software evolves?
Introducing a change as a consumer (3:47)
Branches and pending pacts (5:42)
Updating the provider implementation (3:22)
What happens when our software evolves? - hands-on exercises (all programming languages)
Consumer-driven contract testing implementation challenges
Consumer-driven contract testing implementation challenges (4:20)
Consumer-driven contract testing implementation challenges - Quiz
Bidirectional contract testing
The bidirectional contract testing flow (2:37)
Generating and publishing consumer contracts (Java) (5:14)
Publishing provider contracts and verification by PactFlow (4:23)
Bidirectional or consumer-driven contract testing? (4:21)
Bidirectional contract testing - Quiz
Bidirectional contract testing - hands-on exercises (Java)
Where to from here?
Tips on getting started with contract testing (3:00)
It's a wrap! (2:25)
Additional material and resources
The Pact plugin framework
Generating Pact code with AI
The Pact Slack channel
Teach online with
The Pact plugin framework
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock