0

我在两个组件/微服务之间有关系,其中组件 A 通过 HTTP 向组件 B 发送事件。在传统的协议 HTTP 消费者/提供者模式中,A 是 B 的消费者,因为 A 正在发送请求,B 正在响应。但是,在这种情况下,B 是 A 提供的事件的真正消费者。

有没有办法实现消费者/提供者测试,以便消费者测试可以写在接收端(B)而不是发送端?

我已经看到已经引入了消息协定,听起来它可以在这种情况下使用,但我还没有看到任何易于理解的例子来说明它是如何实现的,以及它是否可以像在我的场景中一样与 HTTP 结合使用。

我正在使用 pact-jvm-junit。

4

1 回答 1

2

您已经概述了可以使用术语消费者/提供者的两种含义——HTTP 消费者/提供者对和数据本身的消费者/提供者。

Pact 仅使用HTTP消费者/提供者的含义,因为您无法真正反向设置模拟。您仍然可以像往常一样使用 Pact - 事实上,第一个使用 Pact 的项目是数据从 javascript 客户端流向后端服务器的项目。

无论如何,大多数 HTTP 消费者/提供者对都具有双向数据流。这是一个罕见的只读应用程序。与其将其视为“我作为信息的消费者,希望如何接收数据”,不如将其视为“我作为该数据的发送者,希望如何将其传输给接收者? ”。

于 2017-01-26T04:20:45.727 回答