Hi folks, I was wondering if there was somewhere a...
# general
g
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
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?
Now you got me curious. I’ve requested a demo with them on Friday. Curious to see how it works.
b
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)."
But, in the end, it sounds like schema-based double-validation, not contracts by example.
b
That’s what my thought was as well, this sounds more like schema validation. We’ll see :)
👁️ 1
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
Thanks a lot! This pretty much answers my question.
🙌 1