我这边的后端是一个 HTTP 服务,以响应 JSON 为主。能想到的测试的覆盖可以从两个层面来做:

  1. 确保服务返回的 JSON 格式正确,这里的格式包括:结构、数据类型、数值范围等;
  2. 确保返回的数据值是准确的

上面的第一条,是相对比较容易做的,目前是在通过下面的 YAML 文件来描述(以及校验):

但对于第二条,不同的环境下,预期的数据值是不同的。以 Kubernetes 为例,实际的 Pod 个数可以通过人工或者自动化手段来确认;但我困惑的在于虽然可以通过自动化手段拿到 Pod 的真实个数,可实际带来的成本也是较高的(如何确保自动化拿到的数据是正确的,自动化获取数据本身的复杂度)。

那么,在大家实际的工作中,是如何确保数据的正确性的呢?

再回到数据格式的话题上,上面是一种相对直白的方式来对格式做校验,理论上也几乎能验证了任意格式。但没有足够的通用性,通过 JSON Schema 是一种行业标准,但 Schema 本身的编写又是相对比较复杂的。大家对此又什么建议呢?

参考


↙↙↙阅读原文可查看相关链接,并与作者交流