Skip to content
@pact-foundation

Pact Foundation

The cross-language distributed contract testing framework.

Pact

Pact is the de-facto API contract testing tool. Replace expensive and brittle end-to-end integration tests with fast, reliable and easy to debug unit tests.
  • ⚡ Lightning fast
  • 🎈 Effortless full-stack integration testing - from the front-end to the back-end
  • 🔌 Supports HTTP/REST and event-driven systems
  • 🛠️ Configurable mock server
  • 😌 Powerful matching rules prevents brittle tests
  • 🤝 Integrates with Pact Broker / PactFlow for powerful CI/CD workflows
  • 🔡 Supports 12+ languages

Why use Pact? Contract testing with Pact lets you:

  • ⚡ Test locally
  • 🚀 Deploy faster
  • ⬇️ Reduce the lead time for change
  • 💰 Reduce the cost of API integration testing
  • 💥 Prevent breaking changes
  • 🔎 Understand your system usage
  • 📃 Document your APIs for free
  • 🗄 Remove the need for complex data fixtures
  • 🤷‍♂️ Reduce the reliance on complex test environments

Watch our series on the problems with end-to-end integrated tests, and how contract testing can help.

Pinned Loading

  1. roadmap Public

    Developer Relations @ Pact - Your map to the Pact landscape for all-comers (maintainers, contributors, users, newbies)

    41 7

  2. pact-specification Public

    Describes the pact format and verification specifications

    299 29

  3. pact-reference Public

    Reference implementations for the pact specifications

    Rust 95 48

  4. pact_broker Public

    Enables your consumer driven contracts workflow

    Ruby 714 180

  5. pact-core-mock-server Public

    In-process mock server for matching HTTP requests and generating responses from a pact file

    Rust 4 2

  6. pact-js Public

    JS version of Pact. Pact is a contract testing framework for HTTP APIs and non-HTTP asynchronous messaging systems.

    TypeScript 1.7k 353

Repositories

Showing 10 of 82 repositories
  • pact-js Public

    JS version of Pact. Pact is a contract testing framework for HTTP APIs and non-HTTP asynchronous messaging systems.

    TypeScript 1,665 353 95 (12 issues need help) 8 Updated Mar 24, 2025
  • TypeScript 2 MIT 1 1 18 Updated Mar 24, 2025
  • pact-workshop-js Public

    Pact JS workshop - learn Pact in 60 minutes

    JavaScript 153 168 2 (1 issue needs help) 6 Updated Mar 24, 2025
  • pact-reference Public

    Reference implementations for the pact specifications

    Rust 95 MIT 48 41 (2 issues need help) 4 Updated Mar 24, 2025
  • pact-broker-chart Public

    This repository houses the Pact Broker Helm Chart

    Smarty 11 MIT 21 3 4 Updated Mar 24, 2025
  • pact-python Public

    Python version of Pact. Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project.

    Python 598 MIT 141 42 (1 issue needs help) 12 Updated Mar 24, 2025
  • docs.pact.io Public

    Pact documentation website

    HTML 17 104 16 (2 issues need help) 14 Updated Mar 24, 2025
  • pact-go Public

    Golang version of Pact. Pact is a contract testing framework for HTTP APIs and non-HTTP asynchronous messaging systems.

    Go 882 MIT 109 29 (1 issue needs help) 6 Updated Mar 24, 2025
  • pact.io Public

    Pact Foundation Website

    HTML 217 92 12 (1 issue needs help) 21 Updated Mar 23, 2025
  • pact-net Public

    .NET version of Pact. Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project.

    C# 860 MIT 234 21 (4 issues need help) 10 Updated Mar 23, 2025

Top languages

Loading…

Most used topics

Loading…