appendix A Tool comparisons
This appendix contains content that supports the decisions made within this book, for example, other contract testing tools. The following sections provide insight into Lewis and Marie’s tool review process, which every individual should do before starting to implement contract testing.
A.1 Contract-based tools
In this section, we describe the different tools associated with contract testing from Pact to Postman.
A.1.1 Pact
According to GitHub, the Spring cloud contract was released in 2016 (https://mng.bz/WVQ1) versus pact-ruby, which was released in March 2014 (https://mng.bz/86qw), making the Pact the original contract testing framework. The fact that Pact supports so many languages and has more than 1,000 stars on pact-ruby, pact-js, and pact-jvm shows its popularity and the main reason why we’ve chosen Pact as our tool for the book. Pact’s ecosystem, as partially mentioned within the contract testing life cycle, includes the Ruby core library that all the language implementations are built on, Pact Broker, can-i-deploy command-line interface (CLI) tool, Docker images, and much more supported by the amazing Pact community. The core Ruby implementation of the Pact framework has developed the integral components for contract testing to run as smoothly as possible, including fundamentals such as configuring the consumer mock server to intercept the consumer request, type matching of fields, provider states for data setup, and contract generation.