BBC Consumer Contracts vs BitDive
BBC Consumer Contracts
github.comBitDive
bitdive.ioSide by side
| Figure | BBC Consumer Contracts | BitDive |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 2 |
| Spec score · Contract Testing Tools | 8.1 (#8) | 8.0 (#11) |
| Founded | 2017 | 2024 |
| Integrations | The project uses the request HTTP client and Joi for response validation. | The integrations page lists 49 supported technologies, including Java, Kotlin, Spring Boot, PostgreSQL, MongoDB, Kafka, JUnit 5, Testcontainers, and Maven. |
| Purpose | Consumer Contracts lets API consumers define executable JavaScript contracts describing the responses they expect from services. | BitDive captures runtime behavior from Java and Kotlin services and turns recorded executions into replay-based JUnit suites for verifying code changes. |
| Security | The README shows SSL request configuration options, including client certificates and a strictSSL setting, but states no security certification or compliance claim. | The security page specifies TLS 1.3 in transit, AES-256 at rest, and masking of sensitive fields inside the JVM before data leaves it. |
Plans
In their own words
BBC Consumer Contracts
BBC Consumer Contracts is a free JavaScript package for executable consumer-driven API contracts. It describes the requests a consumer makes and the responses expected in return. Every contract requires consumer, name, request, and response properties. The package uses the request HTTP client and Joi schemas to check response status codes, headers, and JSON bodies. Optional before and after functions support setup and cleanup, using callbacks or asynchronous functions. Retry behavior accepts numeric or custom settings; the documented default maximum is zero. The consumer-contracts run command validates contracts recursively in a contracts directory or runs one named file. Programmatic callers can pass an array to validateContracts, which runs every contract instead of stopping at the first failure. Installation instructions cover global CLI use and local pnpm development dependencies. It requires Node.js 18 or later and pnpm 10 or later, and supports API and self-hosted use under Apache License 2.0.
BitDive
BitDive is a freemium API, web, and self-hosted tool for Java and Kotlin teams that want to verify code changes against recorded service behavior. Its agent captures method calls, SQL queries, HTTP requests, Kafka messages, JVM metrics, and exception traces, then compares behavior before and after changes to reveal SQL drift, extra HTTP calls, and performance regressions. Recorded executions become replayable JUnit 5 tests that run with standard Maven or Gradle tooling. The agent supports Java 8 through 21 and captures bytecode behavior without source changes. BitDive exposes runtime context and trace operations through MCP for Cursor, Windsurf, and Claude. It lists 49 supported technologies, including Spring Boot, PostgreSQL, MongoDB, Kafka, JUnit 5, Testcontainers, and Maven. Deployment options include hosted SaaS, on-premise, and air-gapped installations. Security details specify TLS 1.3 in transit, AES-256 at rest, and in-JVM masking of sensitive fields. Developer Use costs nothing; Company Rollout pricing is custom.