【发布时间】:2020-09-08 14:44:30
【问题描述】:
我正在做一些 API 测试。
我正在尝试从 API 响应中检查名称。
API 响应以数组形式呈现数据。
我正在检查名称 activeadmin 是否存在,但是我收到一个错误 The Repository activeadmin exists | AssertionError: 预期 'pineapple' 完全等于 'activeadmin'
我不明白为什么它检查数组中的第二个名称值而不是第一个?
这是我的代码
let jsonData = pm.response.json()
pm.test('The Repository activeadmin exists', () => {
_.each(jsonData, (item) => {
pm.expect(item.name).to.eql('activeadmin')
})
})
我尝试过使用 item[0].name 但这会返回错误 name is undefined
以下是 API 响应
[
{
"id": 2847287348,
"node_id": "sdhjaskdhkjasdhjashd",
"name": "activeadmin",
"full_name": "apple/activeadmin",
"private": false
},
{
"id": 2847287348,
"node_id": "sdhjaskdhkjasdhjashd",
"name": "pineapple",
"full_name": "apple/activeadmin",
"private": false
},
{
"id": 2847287348,
"node_id": "sdhjaskdhkjasdhjashd",
"name": "orange",
"full_name": "apple/activeadmin",
"private": false
} ]
【问题讨论】:
-
尝试使用
item[0].name而不是item(0).name。 -
对不起,我的意思是我尝试了 [0],但它不起作用
-
@Sascha - 我试过了,我得到 TypeError: Cannot read property 'name' of undefined
-
这看起来像
item[0]未定义。 -
您确定 jsonData 与您显示的 API 响应匹配吗?你能调试/输出jsonData来确认吗?
标签: javascript json postman