首页 > 解决方案 > 有没有办法正确地深入到带有随机属性名称的 JSON 响应

问题描述

我正在尝试测试键值是随机字母数字的 API 响应。这让我很难深入研究 JSON 响应以获取我想要测试的数据。

我正在使用 SuperTest/Mocha/Chai。在这一点上,我只是想测试一下属性“id”、“name”和“pattern”是否存在,并验证这些属性的值。

不幸的是,由于这些属性的父级是一个随机值,我一直无法访问它。

一般来说,我是 API 测试的新手,所以如果我没有包含一些重要信息,我深表歉意。通常我会做这样的事情:

我通常写的期望示例:

end(function(err, res) {
   expect(res.body).to.have.property('id');
   expect(res.body.id).to.equal(0);
}

到目前为止,我发现的唯一方法是将 response.text 放入变量中,然后使用 split 和 splice 分离出我想要的数据。这很丑陋,而且可能效率低下。

我正在使用的示例 JSON:

{ idTag1: 'randomValue',
  idTag2:
   { 'randomValue':
      { id: 'an integer',
        name: 'a basic string',
        pattern: 'a basic string'
      }
   }
}

标签: supertest

解决方案


推荐阅读