Appendix A Tool comparisons
This appendix contains content which supports the decisions made within this book, for example other contract testing tools. The following sections provides insight of Lewis and Marie’s tool review process which every individual should do before starting to implement contract testing.
A.1 Contract-based tools
A.1.1 Pact
Pact is the “OG” in our opinion, according to Github, Spring cloud contract was released in 2016 (https://github.com/spring-cloud/spring-cloud-contract/tags?after=v1.0.2.RELEASE) vs Pact-ruby which was released in March 2014 (https://github.com/pact-foundation/pact-ruby/tags?after=v1.0.33). The fact that Pact supports so many languages and has over 1,000 stars on pact-ruby, pact-js and pact-jvm, shows its popularity and the main reason why we have chosen Pact as our tool of choice for the book. Pacts ecosystem as partially mentioned within the contract testing lifecycle includes the Ruby core library which all of the language implementations are built on, the Pact broker, can-i-deploy 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. Such as fundamentals like configuring the consumer mock server to intercept the consumer request, type matching of fields, provider states for data setup and contract generation.