测试两个版本的 json-schema 的向后兼容性

问题描述 投票:0回答:2

我有一个包含版本化 json 模式的存储库,因此对于每种类型的模式,我可以进行多个修订:v1、v2、v3 等。我想测试模式的向后兼容性,以便对 v1 模式有效的任何事件保证对 v2 模式有效。

为此,我需要确保只添加属性而永远不会删除属性,非必需的属性永远不会成为必需的等等。有没有可用的 Node.js 库来实现我的目标?

javascript json node.js jsonschema
2个回答
0
投票

天真的问题:这是您需要以编程方式(即定期)执行的操作,还是只是在引入新版本时进行单一检查?

如果是“单一”,您可以尝试在您的 v1 上使用 此网站。它将根据您强加的模式生成一个“假”json。然后,通过将其传递给升级后的架构版本,您应该能够确保实现向后兼容性。

注意我自己从未使用过该工具,所以我不知道它在多大程度上处理非“必填”字段...

抱歉,如果我没听懂你的意思;)


0
投票

我看到有两种方法,

  • 使用某些 json-diff 库编写某种验证,以确保仅添加属性,而不删除属性

  • 实施一些广泛的测试,以确保 v1 正确的事件仍然适用于 v2

© www.soinside.com 2019 - 2024. All rights reserved.