【发布时间】:2020-05-24 00:13:48
【问题描述】:
我有一个服务,它接收请求,生成电子邮件,将电子邮件保存到消息队列(由其他微服务发送)并返回 httpStatus.Ok。 我想测试是否会针对不同的请求生成相关的电子邮件。
根据Contract Tests vs Functional Tests 我的测试是功能性的,而不是合同测试。 (如果我的服务会将电子邮件内容作为 api 响应返回,那么使用 Pact 进行合同测试肯定是合适的)。
我有一个想法,特别是使用 Pact 基础架构进行此类功能测试
1.将请求和预期生成的电子邮件保存到 Pact Broker
2. 在提供者验证测试中提交请求并验证生成的电子邮件与预期的电子邮件。
在这样的功能测试中使用 Pact 有意义吗?
有谁知道类似用法的例子吗?
任何替代技术(最好在 .Net Core 中)进行类似测试?
我也在考虑 https://github.com/approvals/ApprovalTests.Net,但 Pact 基础设施更吸引我。
相关说明:Pact 通常适用于 http 请求/响应,但 Pact V3(尚未由 PackNet 实现)Introduces messages for services that communicate via event streams and message queues。一个描述消息契约契约测试的例子是 https://dius.com.au/2017/09/22/contract-testing-serverless-and-asynchronous-applications/ 被引用 Pact for MessageQueue's : Sample Provider test in case of MessageQueues
【问题讨论】:
标签: functional-testing pact pact-broker pact-net