Skip to content

Instantly share code, notes, and snippets.

@EliFuzz
Created July 2, 2022 23:06
Show Gist options
  • Save EliFuzz/e193e97ac9e140e0b71c3d88bb2676a2 to your computer and use it in GitHub Desktop.
Save EliFuzz/e193e97ac9e140e0b71c3d88bb2676a2 to your computer and use it in GitHub Desktop.
Points to consider for contract testing when choosing the right tool for your project
Aspect Pact Spring Cloud Contract
Deployment / Administration / Hosting - Pactflow - paid
- Broker - free and open source but you need to host it and maintain it
- uses artifactory
Supported languages - JS, JVM, Net, Go, Python, Swift, Scala, PHP, Ruby, Rust, C++
- Keep in mind that there are some limitations for specific languages. Meaning that some languages have more features than others
- By default only JVM based languages
- To support other languages you need to use docker image that will download the required contracts from artifactory and expose the endpoints from the image to your service
Supported languages for writing contracts - It is optimized for use with "pacts" (contracts created by the Pact framework) but can be used for any type of contract that can be serialized to JSON - Groovy
- Kotlin DSL
- Java
- YAML
Message types support - REST API contracts
- Async communication - Pact v3 (no offical support for Python)
- REST API contracts
- Async communication via Wiremock
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment