Skip to content

Latest commit

 

History

History
16 lines (14 loc) · 6.89 KB

LEARNING.md

File metadata and controls

16 lines (14 loc) · 6.89 KB

Learning Outcomes

Step Title Concept Covered Learning objectives Further Reading
step 1 Create our consumer before the Provider API even exists Consumer-driven design
  • Understand use case
    step 2 Write a unit test for our consumer -
    • How to write a basic unit test for an HTTP Client
    • Understand how a unit test is unable to catch certain integration issues
      step 3 Write a Pact test for our consumer Consumer side pact test
      • Understand basic Consumer-side Pact concepts
      • Understand "Matchers" to avoid test data brittleness
      • Demonstrate that Pact tests are able to catch a class of integration problems
        step 4 Verify the consumer pact with the Provider API Provider side pact test
        • Understand basic Provider-side Pact concepts
        • Place provider side testing in a broader testing context (e.g. where it fits on the pyramid)
          step 5 Fix the consumer's bad assumptions about the Provider Humans talking to humans (collaboration)
          • Understand that a tool facilitates collaboration, it doesn't replace it
            step 6 Write a pact test for 404 (missing User) in consumer Testing API invariants
            • Understand how we can test "stateful" APIs without having to create complex, sequential API calls
              step 7 Update API to handle 404 case Provider States
              • How Pact deals with "stateful" interactions, via the concept of "Provider States"
                step 8 Write a pact test for the 401 case Testing authenticated APIs
                • Service evolution - adding a new feature
                  step 9 Update API to handle 401 case Service evolution
                  • Understand the challenge of dealing with complex/dynamic data, such as time-bound authentication tokens
                    step 10 Fix the provider to support the 401 case Request filters
                    • Understand Pact's approach to dealing with complex/dynamic data, such as time-bound authentication tokens
                      step 11 Implement a broker workflow for integration with CI/CD Automation
                      • Understand how to use Pact in a CI and CD workflow