pact-foundation / pact-jvm

JVM version of Pact. Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project.
https://docs.pact.io
Apache License 2.0
1.08k stars 480 forks source link

Outdated docs #940

Open ghost opened 5 years ago

ghost commented 5 years ago

Hello, I'm trying to implement PACT in a project using JVM. I tried to follow the walktroughs/workshops, but it seems they are all outdated!

For example, the next classes don't exist in recent versions:

Example: https://github.com/DiUS/pact-jvm/tree/master/consumer/pact-jvm-consumer-junit

the recommended way is thus not available.

Trying to create a tests implementing the base abstract class (ConsumerPactTest) doesn't work. The newer pact-jvm-release has 2 versions of the 'RequestResponsePact'. One in 'au.com.dius.pact.model.RequestResponsePact' but also one in 'au.com.dius.pact.core.model.RequestResponsePact'.

This makes it so that you cant implement the 'ConsumerPactTest'-interface because the interface requires you to return pact.model.RequestResponePact but the PactDslWithProvider builder you receive returns pact.core.model.RequestResponsePact.

uglyog commented 5 years ago

You must have mixed different versions of the Pact-JVM libraries.

au.com.dius.pact.model.RequestResponsePact -> 3.5.x or 3.6.x (3.6.13 is the latest) au.com.dius.pact.core.model.RequestResponsePact -> 4.0.x (4.0.0-beta.6 is the latest)

You can't mix 3.5, 3.6 and 4.0 versions.

Which workshops are you using? If it is https://github.com/DiUS/pact-workshop-jvm/ then that is based on 3.5.14

uglyog commented 5 years ago

Also, in 4.0.x versions the classes are just ConsumerPactTest and PactProviderRule