【发布时间】:2019-09-13 18:10:41
【问题描述】:
我正在处理一个项目,该项目一直在使用 Java POJO,从中生成 JSON 模式并针对给定的 REST 端点响应进行验证。
这在大多数情况下都可以正常工作,但也有一些缺点,例如,当在给定端点中引入新的键值对时,我无法在 Jenkins 构建的自动化测试中看到响应中添加了某些内容(放心的 matchJsonSchema 方法不考虑预先在 POJO 类中未定义的额外项目 - 这意味着如果类中没有定义“x”字段并且在端点响应中检索到它,测试仍然会通过)。
在 JSON 标准中有一个“maxProperties”键可用,可以根据它验证架构,但这意味着我需要向我的存储库添加约 40 个 .json 架构文件并定义当前返回键的数量-值对。
一般来说,我想知道在维护方面有什么更好的方法 - 将模式单独保存在 .json 文件中,或者在 Java POJO 类中以编程方式创建它们以进行验证?我认为理想情况下,最好根据 API 在线可用的 swagger 文档来验证响应,但由于我从未有机会触及该主题,我想知道潜在的缺点是什么。
【问题讨论】:
标签: java json swagger rest-assured