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 352

Repositories

Showing 10 of 82 repositories
  • 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-reference Public

    Reference implementations for the pact specifications

    Rust 95 MIT 48 41 (2 issues need help) 4 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
  • pact-php Public

    PHP 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

    PHP 280 Apache-2.0 90 4 5 Updated Mar 23, 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 23, 2025
  • C# 6 Apache-2.0 3 1 0 Updated Mar 22, 2025
  • pact-broker-chart Public

    This repository houses the Pact Broker Helm Chart

    Smarty 11 MIT 21 3 4 Updated Mar 22, 2025
  • pact-consumer-minitest Public

    Minitest support for the Pact Consumer gem

    Ruby 4 MIT 3 1 2 Updated Mar 22, 2025

Top languages

Loading…

Most used topics

Loading…