Hi folks, I was wondering if there was somewhere a handy comparison between Pact and the contract testing offering from SauceLabs? For context, we are planning to do contract testing between a Ruby on Rails provider and several consumers (mobile apps, web clients), and were initially planning to go with Pact, but found out that SauceLabs was already in use in a different part of the company, so we’re trying to figure out if it makes sense for our team to use Pact instead. Thanks in advance for your help!
b
Bas Dijkstra
12/05/2023, 6:09 PM
I’m trying to wrap my head around this bit from their website. How is it consumer-driven if you generate everything from the provider spec, and not from consumer expectations?
Bas Dijkstra
12/05/2023, 6:36 PM
Now you got me curious. I’ve requested a demo with them on Friday. Curious to see how it works.
b
Boris
12/05/2023, 11:14 PM
There are some red flags in those blog posts . . .
• "Learn what OpenAPI-driven contract testing is"
• "[...] risky shortcuts to save time, like reducing or even eliminating testing sprints."
But then also some good-sounding bits:
• "Complete API contract testing must validate both the API producer (server side) and the API consumer (client side) to detect and diagnose when a contract is broken by either side."
And terminology blurring:
• "This agreement — with the formal description of the rules that govern it — is the contract (aka, pact)."
Boris
12/05/2023, 11:14 PM
But, in the end, it sounds like schema-based double-validation, not contracts by example.
b
Bas Dijkstra
12/06/2023, 5:32 AM
That’s what my thought was as well, this sounds more like schema validation. We’ll see :)
👁️ 1
Bas Dijkstra
12/06/2023, 11:41 AM
They cancelled my demo meeting (probably because it was too obvious I wasn't going to buy anything from them)...
Anyway, I was pointed to YouTube. From this short video it looks like it's indeed 'generate mocks from a spec' for the consumer and 'generate a client from a spec' for the provider, nothing consumer-driven there:
https://www.youtube.com/watch?v=tRLN_hDxYGU▾
There's also a longer video, I'll watch that later:
https://www.youtube.com/watch?v=zF4wQD1_GwM▾
👌 1
g
Gueorgui
12/06/2023, 2:44 PM
Thanks a lot! This pretty much answers my question.