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

时间:2019-03-15 06:36:59

标签: javascript testing automated-tests postman qa

以下是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"
}
]

在邮递员测试中,如何验证上面响应正文中的exercise_num节点是否唯一?

1 个答案:

答案 0 :(得分: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);
});