I have already developed a pact file by running some tests on the consumer side. The question now is - how do I go forward with the development of the provide side? Am I supposed to mock the client, the way I mocked the provider in the consumer class? Do I have to use any of the real classes of the API or not at all?
Most of the tutorials/examples online use Spring, which for various reasons is unavailable to me, so they were not exactly helpful. I am afraid I'm missing something fundamental when it comes to the provider side.
I have already developed a pact file by running some tests on the consumer side. The question now is - how do I go forward with the development of the provide side? Am I supposed to mock the client, the way I mocked the provider in the consumer class?
No, Pact will act as the mock consumer and send requests as if it were your actual consumer.
Do I have to use any of the real classes of the API or not at all?
Yes, ideally. See the scope of a provider test for more on reasoning about this.
The key is knowing where to stub on the provider side - the starting point for most people should be to let the request flow through as much of the provider's code as possible, but stub if the request needs to go to another system (e.g. another API). If you have a DB, you can choose to stub that repository layer, use Docker etc.
Most of the tutorials/examples online use Spring, which for various reasons is unavailable to me, so they were not exactly helpful. I am afraid I'm missing something fundamental when it comes to the provider side.
You need not use Spring, you can verify directly from Gradle, Maven, JUnit or your own class. See the various provider implementations here: https://docs.pact.io/implementation_guides/jvm/provider
What Zabuzard has said is also correct, Pact just happens to provide several convenience APIs for popular frameworks.