Pact 部署后合约验证

问题描述

我正在使用 Pact JS 进行合同测试。我已经编写了提供者和消费者部分并将它们上传到契约经纪人。合同 URL 指向我的 QA 环境。我想创建一个每天运行的 Slack webhook,并验证合同是否仍然通过。 有没有办法让我在不上传新合同的情况下按需运行协议验证? 如果我只想检查是否没有任何变化,为什么我需要更改合同? 这似乎是每个人都应该使用的基本功能,但为了我的爱,我无法在文档中找到它

解决方法

我认为您误解了契约经纪人的工作方式。它不运行提供者测试 - 您的提供者 CI 工作将运行该测试,并且在该阶段它将从代理中提取合同并针对您的提供者进行测试(通常在本地,但在您的情况下针对 QA 环境) .

因此,在您的情况下,您要触发的是提供者 CI 构建,而不是协议代理。

但是,如果没有任何变化(即消费者既没有发布新合约也没有改变其实现),为什么还要运行构建?