我正在开发一个项目,该项目涉及比较两个不同 REST API 的响应。这些 API 收到相同的请求,但我需要验证 JSON 响应是否相同。
如果有任何差异,我想查明具有不同值的特定标签。另外,执行时间有没有延迟? 需要定期对大量 API 进行这种比较,这使得手动检查不可行。 我希望使用 Java 来自动化这个过程。我相信自定义 API 比较器程序可能是一个很好的解决方案。
这是我希望实现的目标:
我的问题是: 有效比较嵌套 JSON 结构的最佳方法是什么? 如何有效处理API调用或JSON解析过程中潜在的错误?
我已经做了一些初步研究,并找到了一些有关使用 Apache HttpClient 和 Jackson 等库来发出 HTTP 请求和解析 JSON 的资源。
但是,我非常感谢社区提供有关构建强大且高效的 API 比较器的任何见解或指导。
部署所有微服务并执行端到端测试
在单元/集成测试中模拟其他微服务
两者都有各自的优点,但也有很多缺点。
模拟生产
测试服务之间的真实通信
要测试一个微服务,我们必须部署 6 个微服务、几个数据库等。
进行测试的环境将被锁定以进行一组测试(即其他人无法同时运行测试)。
要跑很长时间
反馈很晚
极难调试
反馈非常快
无基础设施要求
服务的实现者创建存根,因此它们可能与现实无关
通过测试和失败的生产可以进入生产