我正在使用Pact Go 实现来尝试合同测试。我进行了一个不起作用的提供程序测试,因为我需要模拟我的服务对 Twilio 的请求。
我为我的消费者和此提供者之间的合同创建了一个 Pact 对象,然后为我的提供者和 Twilio 之间的合同创建了另一个名为 twilioPact 的对象。我已将 POST 的交互添加到 Twilio 端点,但在 pact.log 中我没有看到它被注册。我的测试是正确地发出请求,但是没有为它注册交互,所以我从模拟服务器收到 500 错误。
有没有人有使用 Pact 与同时也是“消费者”的“提供者”的经验?
编辑:在与 Matt Fellows 交谈后,我被告知我使用 Pact 不正确,并且不应该在运行提供者验证时尝试运行模拟服务。我也有同样的怀疑,但我所看到的例子都不是针对具有依赖关系的提供者。通过编写消费者测试并将生成的 pact 文件传递给 pact-stub-service 以充当 Twilio 的模拟,我能够让我的提供者验证工作。