gpt4 book ai didi

PACT 与 Spring Cloud 合约测试

转载 作者:行者123 更新时间:2023-12-04 10:33:55 29 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 提供事实和引用来回答它.

7 天前关闭。
社区在 7 天前审查了是否重新打开此问题并将其关闭:

原始关闭原因未解决





Improve this question




我试图了解 PACT 和 Spring Cloud Contract 之间更好的工具来实现消费者驱动程序契约(Contract)测试。
我没有找到任何明确的例子来找出利弊。

我想实现CDCT,我的项目中没有使用Spring。据我了解,我假设 PACT 很适合。

欢迎任何信息或建议。
谢谢你。

最佳答案

Spring Cloud Contract 允许您为 REST API 和消息传递定义和测试合约。它提供了清晰易用的静态类型 Groovy DSL,还允许通过 yaml 定义合约。无论是使用 DSL 还是使用 yaml,对于任何熟悉标准 HTTP/消息传递术语的人来说,定义合约都是非常直观的,例如:

request {
method PUT()
url '/fraudcheck'
body([
"client.id": $(regex('[0-9]{10}')),
loanAmount: 99999
])
headers {
contentType('application/json')
}
}
response {
status OK()
body([
fraudCheckStatus: "FRAUD",
"rejection.reason": "Amount too high"
])
headers {
contentType applicationJson()
}
}

生产者端测试由 SCC 自动生成,并在构建期间添加到项目中。如果没有正确实现履行契约(Contract),项目将不会被构建和部署。如果它们通过,消费者的 stub 将与相应的工件版本一起生成和发布。

在消费者方面,对于 HTTP,SCC 提供 Stubrunner,它启动一个 Wiremock(内存中的 http 服务器)实例,为匹配的请求提供 stub 响应。 Stubrunner 与外部工件存储库(例如 Nexus 和 Artifactory)以及本地 m2 存储库一起使用。

SCC 与 SpringBoot 无缝集成,还与 Spring Cloud 开箱即用集成,可在集成测试期间代替服务发现。

它还与 Pact 开箱即用地集成,并允许通过 Hook 利用额外的 Pact 功能,同时仅使用 SCC 契约(Contract)定义。

SCC 还提供了一个基于 Docker 的选项,用于在 JVM 以外的技术中实现和测试合约。

免责声明:我是 Spring Cloud Contract 提交者。

关于PACT 与 Spring Cloud 合约测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52033686/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com