Suggest a tool

Pact Ruby vs Pact JS: open-source contract testing tools compared

Metrics as of , from the GitHub or GitLab API of each repository. Refreshed monthly.

Summary

Pact Ruby: Ruby RSpec DSL for Pact contract tests over HTTP, gRPC and message transports, built on pact-ffi.

Pact JS: Node.js library for Pact contract tests, with the PactV3 consumer API and Verifier class in the @pact-foundation/pact npm package.

Both are listed under Contract testing. The table gives repository metrics from the GitHub API with their fetch date, then the documented facts used for every comparison in this category, each linked to the README or docs page it comes from. A cell reads "not documented" when the fact was not found in the project's documentation; that does not mean the feature is absent.

Side by side

Pact Ruby and Pact JS: metrics and documented facts, in the fixed row order used for contract testing comparisons.
FactPact RubyPact JS
Stars2,19111,8151
Forks21813571
Contributors9411231
Last release2026-09-1412026-09-071
Last commit2026-09-1812026-09-221
Commits in 90 days1511101
LicenseMIT1MIT1
Primary languageRuby1TypeScript1
Statusactive1active1
Languages for writing testsRuby with RSpec source: READMEJavaScript on Node.js (Node 16+ as of pact-js v12) source: README
Contract or spec formatsPact specification, including V4 mixed interactions in a single file source: READMEPact specification versions 2, 3 and 4 (pact-js 10.x and later) source: README
ProtocolsHTTP, gRPC and async messages (Kafka) source: READMEHTTP/REST and event-driven systems source: README
CI integrationA :pact RSpec tag separates Pact tests in CI/CD pipelines source: READMECI/CD workflows through Pact Broker source: README
Install methodRubyGems (gem "pact") source: READMEnpm (npm install --save-dev @pact-foundation/pact) source: README

1 Fetched from the GitHub or GitLab API on . Hover a value for its own date.

When each fits

Written from each project's documented scope, not from preference. Neither tool is ranked.

Pact Ruby

Fits projects that test contracts between Ruby service consumers and providers; its README describes a DSL for writing contract tests in Ruby with RSpec. source: README

Pact JS

Fits projects that write consumer-driven contract tests for APIs in JavaScript; its README describes a consumer test that produces a contract shared with the provider. source: README

More on these tools

Sources

  1. GitHub REST API: repository, read
  2. GitHub REST API: repository, read
  3. GitHub REST API: contributors, read
  4. GitHub REST API: contributors, read
  5. GitHub REST API: latest release, read
  6. GitHub REST API: latest release, read
  7. GitHub REST API: commits, read
  8. GitHub REST API: commits, read
  9. README, read
  10. README, read

Documented facts collected 2026-09-22. See the methodology for how metrics and facts are gathered.