如何验证响应正文中的节点是否具有邮递员的唯一值?

问题描述 投票:1回答:1

以下是API的响应主体:

[
{
    "exercise_num": "1",
    "expire_date": "2019-03-11T16:31:17.935Z",
    "created_at": "2019-03-15T11:44:35.698Z"
},
{
    "exercise_num": "2",
    "expire_date": "2019-03-11T16:31:17.935Z",
    "created_at": "2019-03-15T11:44:38.363Z"
}
]

在Postman Tests中,如何验证上面响应体中的exercise_num节点是否唯一?

javascript testing automated-tests postman qa
1个回答
1
投票

过滤掉唯一的exercise_num值,并比较实际数组和唯一值数组的长度。您可以使用Array#reduce方法过滤唯一值。

pm.test("Your test name", function() {
  var jsonData = pm.response.json();
  pm.expect(jsonData.reduce(function(arr, b) {
    if (!arr.includes(b.exercise_num)) {
      arr.push(b.exercise_num);
    }
    return arr;
  }, []).length).to.eql(jsonData.length);
});
© www.soinside.com 2019 - 2024. All rights reserved.