如何在我的providerservice类中创建模拟服务器以调用Web服务。
我通过一些交互创建了clientPactTest类,创建了json文件,将其发布,但是被ProciderService的Verfication部分卡住了。 在我的情况下,我必须在我的提供程序服务中调用一个Web服务。它是一个打字稿项目。
请回答我的问题:
1)现在,我在命令行在本地主机端口8080上运行我的Web服务。然后我创建了一个Pact的ProviderService,其中提到了提供程序URL和主机名分别为localhost和8080端口。在命令行。这是正确的方法吗?
2)我有点困惑,因为在许多网站上都提到我们不运行实际的服务来进行协议验证,而应该创建一个模拟服务器。因此,如果我创建了一个模拟服务器,是否已按照实际Web服务中提到的方式在我的providerservice文件中重新写入了所有端点?
请澄清。
谢谢, 阿鲁娜
答案 0 :(得分:0)
使用提供者方验证,您始终需要运行真实的提供者以确保其行为符合其使用者的预期。在消费者方面,您可以使用模拟服务代替提供程序,所以也许这就是困惑所在。
如果您的提供者服务也是另一个服务的使用者,则该模式会重复。
请参阅该页面上的https://docs.pact.io/best_practices/provider#only-stub-layers-beneath-where-contents-of-the-request-body-are-extracted和相关部分。
一般建议是,在协议提供者测试期间,应将本地存根用于任何下游服务