https://github.com/lirantal/awesome-contract-testing
Awesome resources for Consumer-Driven Contract Testing
https://github.com/lirantal/awesome-contract-testing
cdc consumer consumer-driven-contracts pact pact-broker provider
Last synced: 6 months ago
JSON representation
Awesome resources for Consumer-Driven Contract Testing
- Host: GitHub
- URL: https://github.com/lirantal/awesome-contract-testing
- Owner: lirantal
- Created: 2018-10-26T08:43:55.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-09-05T19:27:46.000Z (over 3 years ago)
- Last Synced: 2025-07-25T17:19:26.653Z (6 months ago)
- Topics: cdc, consumer, consumer-driven-contracts, pact, pact-broker, provider
- Size: 10.7 KB
- Stars: 79
- Watchers: 8
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Code of conduct: code-of-conduct.md
Awesome Lists containing this project
- awesome-specification-driven-development - Awesome Contract Testing - Awesome resources for Consumer-Driven Contract Testing.  (Contract Testing / Contract Testing Resources)
README
A curated list of awesome resources for Consumer-Driven Contracts Testing
[](https://awesome.re)
*List inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing.*
# Table of Contents
- [sdks-and-frameworks](#projects)
- [Node.js](#nodejs)
- [JavaScript](#javascript)
- [Java](#java)
- [Ruby](#ruby)
- [PHP](#php)
- [Python](#python)
- [Go](#go)
- [.NET](#net)
- [Educational](#educational)
- [Articles](#articles)
- [Workshops](#workshops)
# SDKs and Frameworks
- [PACT](https://docs.pact.io) - Mainstream and mature contract testing framework for Node.js, Ruby, Java and other platforms.
- [PACT Broker](https://github.com/pact-foundation/pact_broker) - Enables your consumer driven contracts workflow (http://pact.dius.com.au/).
- [PACT Stub Server](https://github.com/pact-foundation/pact-stub-server) - Wraps the Pact Rust mock server in a Docker container.
- [Spring Cloud Contract](#https://cloud.spring.io/spring-cloud-contract/) -
## Node.js
- [PACT Node.js](https://github.com/pact-foundation/pact-node) - Node version of Pact, a Contract Testing Framework.
## JavaScript
- [PACT JavaScript](https://github.com/pact-foundation/pact-js) - JS version of Pact. Pact is a contract testing framework for HTTP APIs and non-HTTP asynchronous messaging systems
## Java
- [PACT JVM](https://github.com/pact-foundation/pact-jvm) - JVM 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.
- [KARATE](https://github.com/karatelabs/karate/tree/master/karate-netty#consumer-provider-example) - Testing framework. Allows execution of API Tests and API Test-Doubles, which makes it possible to implement consumer driven contracts in Java and other languages.
## Ruby
- [PACT Ruby](https://github.com/pact-foundation/pact-ruby) - 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
- [PACT PHP](https://github.com/pact-foundation/pact-php) - 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.
## Python
- [PACT Python](https://github.com/pact-foundation/pact-python) - 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.
## Go
- [PACT Go](https://github.com/pact-foundation/pact-go) - Golang version of Pact. Pact is a contract testing framework for HTTP APIs and non-HTTP asynchronous messaging systems.
## .NET
- [PACT Net](https://github.com/pact-foundation/pact-net) - C# version of Pact. Pact is a contract testing framework for HTTP APIs and non-HTTP asynchronous messaging systems.
- [com-pact](https://github.com/bartschotten/com-pact) - Another approach on creating Pact for .NET. Pact is a contract testing framework for HTTP APIs and non-HTTP asynchronous messaging systems.
# Educational
## Articles
- [PACT blog](#http://blog.pact.io) - The official PACT blog.
- [Blogs and videos collections](https://docs.pact.io/blogs_videos_and_articles) - Collection of Videos and Blogs from PACT website.
- [Node.js — Integration Testing with Pact.js](https://itnext.io/node-js-integration-testing-with-pact-js-1a2ea8aa3116)
- [Consumer Driven Contract Testing with Pact](https://blog.risingstack.com/consumer-driven-contract-testing-with-pact/)
- [Pact for Integration Testing of REST APIs](https://wilsonmar.github.io/pact/)
- [Step by Step Consumer-Driven Contracts for Node](https://reflectoring.io/pact-node-provider/) - Step By Step Tutorial for Implementing Consumer-Driven Contracts for a Node Express Server with Pact.
- [A Comprehensive Guide to Contract Testing APIs in a Service Oriented Architecture](https://medium.com/@liran.tal/a-comprehensive-guide-to-contract-testing-apis-in-a-service-oriented-architecture-5695ccf9ac5a) - A detailed read on implementing Consumer-Driven Contracts testing, covering Consumer & Provider testing, best and bad practices, DevOps recipe for implementation and supporting resources such as the Pact Manifest utility.
- [How to set up Pact tests with Angular & Jest
](https://medium.com/@dany.marques/how-to-set-up-pact-tests-with-angular-jest-ae157f272428) - Pact and Angular for frontend contract testing.
## Workshops
- [Pact.js E2E](https://github.com/pact-foundation/pact-js/tree/master/examples/e2e) - The Pact.js repository has an End-to-End example that is made up of a Consumer, Provider and the Pact Broker for sharing and validating the contracts.
- [Pact Workshop JS](https://github.com/pact-foundation/pact-workshop-js) - Step by Step Pact workshop.
# Contributing
Found an awesome project, package, article, other type of resources related to Node.js Security? Send me a pull request!
Just follow the [guidelines](/CONTRIBUTING.md). Thank you!
---
say *hi* on [Twitter](https://twitter.com/liran_tal)
## License
[](http://creativecommons.org/publicdomain/zero/1.0/)