Hero image

Bi-Directional Contract Testing
Now live!

Contract testing is now a whole lot easier.
Get more of your team involved and use your favourite tools to see the ROI faster.

How it works

Already loved by

  • slack logo large
  • spotify logo large

It's time to farewell end-to-end testing

Consumer Driven Contract Testing is the new industry standard approach to testing distributed systems. Now, with Bi-Directional Contract Testing, PactFlow customers get access to new modes of contract capture and compliance, a broader set of use cases, and a simplified developer experience.




Start faster

Simpler approach lowers the barrier to getting started


Scale faster

Reuse existing tools and tests to scale contract testing rapidly across your systems


Invite more team members

More of the team can join - QAs, SDETs, testers and more


Adapts to your workflow

Design first, API first, consumer or provider driven - you choose


More supported technologies

Supports additional use cases not supported by Pact


Faster time to value

See value and ROI of contract testing faster

How it works

Watch a short video to see how Bi-Directional Contract Testing works

Read the docs


Integrates with tools you love

Upgrade the tools you love into a powerful contract testing solution

View all integration examples
Ready to get started?
divider graphic


Here's what our customers have to say about Bi-Directional Contract Testing:

Frequently Asked Questions

No, this feature is exclusive to PactFlow.

  • APIs and microservices documented with an OpenAPI specification
  • API consumers that already make extensive use of API mocking
  • Retrofitting contract-testing onto existing system
  • Monolith to microservice migrations
  • API Gateways / pass through systems
  • Public APIs (documented via OpenAPI Specifications)
  • Testing against 3rd party APIs

With Bi-Directional Contract Testing, you can keep using the tools you use today.

For consumer tests, you can choose to BYO your own API mocking tool or use Pact. Common mocking tools you can use to capture a contract include:

  • Wiremock
  • MSW
  • Cypress
  • Mountebank

If you can programmatically access your mocks, you can generate a pact file from it.

For provider tests, we support providers documented with an OpenAPI (OAS). You must ensure that your OAS is compatible with your code. OAS has a rich ecosystem of tools you can use to verify your provider, such as:

  • Code generated OAS documents (e.g. swashbuckle, springdoc-openapi)
  • RestAssured
  • Dredd
  • Postman

We will be launching with support for the following contract types:

  • Pact
  • OpenAPI Specification

Our roadmap includes expanding support to other formats, including:

  • SOAP / XSD Schemas
  • Protobuf definitions
  • GraphQL
  • Postman Collections

With Bi-Directional Contract Testing, you can choose the type of testing methodology that works best for your team. This means you can use Pact, bi-directional or both.

For example, you might find that using Bi-Directional Contract Testing is a good approach for retrofitting onto existing systems to get rapid value, but may prefer to use Pact contract testing on green fields projects that you're actively working on.

Bi-directional contracts expands the roles of test authors beyond Developers, to Testers, QAs and SDETs.

Typically, Developers and SDETs can write Pact tests as they have access to the underlying code base, written as unit tests (white-box tests).

Testers, QA engineers and others who don’t have direct access to the code and want to test from the outside (as a black-box test) can now use schema and code-based contract tests, using tools and techniques they are familiar with.

Visit our documentation where you can find more detail about the feature, hands-on workshops and example projects.

You can also find support in the #pactflow channel in the Pact Slack workspace (sign up).

Still have questions? Get in touch
arrow-up icon