supertest - 有没有办法正确地深入到带有随机属性名称的 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'
}
}
}
解决方案
推荐阅读
- android - 我们能否获取路线 TBT 信息的语音列表(语音指导文本),以便我可以自己说出这些值
- firebase - 应用程序是否可以使用 firebase 获得的最新数据打开?
- php - SQL 更新、设置、案例:我做错了什么?
- xml - SOAP 请求消息头无法记录
- python - 如何将 Pandas 数据框转换为 SQL
- c# - 在c#中使用输入执行python文件
- c# - 如何在 DataTable 中为 compute() 使用自定义语言
- iframe - Authentication in Office Add-ins when Dialog API is not supported
- gwt - How to capture chrome browser close event in GWT?
- java - Java中的嵌套JComboBoxes