Как зациклить функцию в почтальоне

Я пытался написать тест на наличие каждого из элементов в каждом наборе. пример: присутствует ли familyName в каждом наборе или firstName присутствует в каждом наборе и так далее.

Когда я попытался использовать функцию "to .have.property" внутри цикла (как показано ниже), я получил сообщение "не использовать функцию внутри цикла".

var jsonData = pm.response.json();
totalNumber = jsonData.length;

while (i<totalNumber){
i=0;

pm.test('familyName is present in the response' ,function() {
  pm.expect(jsonData[i]).to.have.property('agentSSN');

i++;

}
});


**Sample response**
[
    {
        "familyName": "123",
        "firstName": "tester2",
        "middleName": "",
        "lastName": "test ",
        "ContactNumber1": "",
        "ContactNumber2": ""
    },
     {
        "familyName": "123",
        "firstName": "tester1",
        "middleName": "",
        "lastName": "test2",
        "ContactNumber1": "",
        "ContactNumber2": ""
    }

]

1 ответ

Решение

Вы можете просто попробовать это:

pm.test('familyName is present in the response', () => {
    _.each(pm.response.json(), (item) => {
        pm.expect(item).to.have.property('agentSSN');
    })
})

Он будет перебирать ответ и проверять, если это property находится в объекте.

Другие вопросы по тегам