如何解决如何在json响应中验证数组?
伟大的,
我想知道如何使用邮递员验证数组
我有这个答案:
{
"documents": [
{
"documentType": "FORM","attributes": [
{
"kind": {
"code": "COMPANY","name": "Company name"
},"value": "KKO","confidence": 0.0
},{
"kind": {
"code": "AGREEMENT","name": "Agreement number"
},"value": "123",{
"kind": {
"code": "DATE_OF_ISSUE","name": "When it was created"
},"value": "01/01/2019","confidence": 0.0
}
}
我想验证第二个属性:
{
"kind": {
"code": "AGREEMENT",
包括 value
字段
"value": "123",
我想知道验证这一点的最简单方法是什么?
我尝试编写如下路径:
const response = pm.response.json()
attribute1 = response.data.documents[0];
attribute2 = response.data.documents[1];
attribute3 = response.data.documents[3];
pm.expect(attributes[1].kind.code).to.equal("AGREEMENT");
pm.expect(attributes[1].kind.name).to.equal("Agreement number");
但它太繁重和耗时。
如果您能与我分享您的经验并提供有关如何解决我的问题的线索,我将不胜感激。
提前致谢
解决方法
pm.expect([1,2,3,4,5]).to.deep.equal([1,5])
或
pm.expect(_.isEqual([1,5],[1,5])).to.be.true
所以在你的情况下:
pm.expect([
{
"kind": {
"code": "COMPANY","name": "Company name"
},"value": "KKO","confidence": 0.0
},{
"kind": {
"code": "AGREEMENT","name": "Agreement number"
},"value": "123",{
"kind": {
"code": "DATE_OF_ISSUE","name": "When it was created"
},"value": "01/01/2019","confidence": 0.0
}]).to.deep.equal([
{
"kind": {
"code": "COMPANY","name": "Company name"
},"confidence": 0.0
},{
"kind": {
"code": "AGREEMENT","name": "Agreement number"
},{
"kind": {
"code": "DATE_OF_ISSUE","name": "When it was created"
},"confidence": 0.0
}])
更新
name = ["Company name","Agreement number","When it was created"]
value = ["KKO","123","01/01/2019"]
pm.test("something",function () {
a.forEach((a,i) => {
pm.expect(a.kind.name).to.be.equal(name[i])
pm.expect(a.value).to.be.equal(value[i])
})
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。