问题标签 [pact-go]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - 提供者未注册交互
我正在使用Pact Go 实现来尝试合同测试。我进行了一个不起作用的提供程序测试,因为我需要模拟我的服务对 Twilio 的请求。
我为我的消费者和此提供者之间的合同创建了一个 Pact 对象,然后为我的提供者和 Twilio 之间的合同创建了另一个名为 twilioPact 的对象。我已将 POST 的交互添加到 Twilio 端点,但在 pact.log 中我没有看到它被注册。我的测试是正确地发出请求,但是没有为它注册交互,所以我从模拟服务器收到 500 错误。
有没有人有使用 Pact 与同时也是“消费者”的“提供者”的经验?
编辑:在与 Matt Fellows 交谈后,我被告知我使用 Pact 不正确,并且不应该在运行提供者验证时尝试运行模拟服务。我也有同样的怀疑,但我所看到的例子都不是针对具有依赖关系的提供者。通过编写消费者测试并将生成的 pact 文件传递给 pact-stub-service 以充当 Twilio 的模拟,我能够让我的提供者验证工作。
go - Pact-Go 找不到服务器正在运行
我正在尝试与 Pact 和 Pact Broker 创建一个简单的消费者-提供者合同。
消费者正在工作,它按预期将交互发布到代理,但提供者在运行测试时失败。
错误是:
这是提供者https://github.com/tutabeier/pact-consumer-provider/tree/master/provider的回购
最具体地说,这里是测试: https ://github.com/tutabeier/pact-consumer-provider/blob/master/provider/cmd/provider/main_test.go
我不知道我做错了什么。
pact - 针对已部署的 HTTPS 提供程序运行 Pact 提供程序测试
我想为我的客户和 API 设置 Pact 合同测试。我的 API 无法在本地运行,因此我希望能够在部署到生产环境之前针对已部署的 API 暂存版本运行提供程序测试。
我在网上看到的大多数提供者测试示例都使用了 localhost。尝试针对我部署的 HTTPS 端点运行提供程序测试时,测试失败并显示read server hello A: unknown protocol. 是不支持 HTTPS 协议,还是我遗漏了什么?
使用pact-provider-verifier命令行工具可以正常工作。
go - pact go 合同测试 - 我应该模拟业务逻辑吗
我正在研究 Pact 合同测试,我有一个问题,是否应该在此测试期间模拟业务逻辑。
假设我有一个端点
假设我已经编写了消费者测试并通过提供者进行了验证。但是,要验证它,我需要运行实际的 API。问题是当我在我的本地环境accountID中运行时12345678确实存在。但是,当另一个开发人员在他的环境中运行它时 - 它可能不存在。
我的问题是 - 我该如何解决这个问题?我需要模拟端点内的业务逻辑吗?但在那种情况下,它不只是成为一个有效载荷验证器,本质上是 protobuf 可以做的吗?