Spring 消息生产者的云合同

Spring cloud contract for message producer

我正在使用 spring 消息的云合同,如

中所述

https://cloud.spring.io/spring-cloud-static/spring-cloud-contract/1.2.1.RELEASE/single/spring-cloud-contract.html#_spring_cloud_contract_verifier_messaging

一切都按照文档中的描述工作。

我有一种情况,我的 triggeredBy 方法在同一频道上发出两条消息(例如,要发送给两个不同方的短信),我无法正确断言这两条消息。消息以随机顺序接收,有时测试用例通过,有时失败。

我需要一种方法来正确断言这两条消息。

OutputMessage也有assertThat方法(https://github.com/spring-cloud/spring-cloud-contract/blob/v1.2.1.RELEASE/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/OutputMessage.groovy#L35), it's described here (https://cloud.spring.io/spring-cloud-static/spring-cloud-contract/1.2.1.RELEASE/single/spring-cloud-contract.html#contract-dsl-common)。您也可以在那里断言其他消息。您还可以在输入部分使用该断言来准确知道发送了哪条消息,然后您也可以发送丢失的消息。