Тестовый кейс в почтальоне

Я учусь писать тестовые случаи в почтальоне, и мое тело запроса выглядит так

{
  "PhoneNumbers": [
   "string"
  ],
  "EmailAddresses": [
    "string"
  ],
  "FirstName": "string",
  "LastName": "string",
}

И мой тестовый пример такой

pm.test("Phone number matches", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.PhoneNumbers).to.eql("string");
});

Мое тело ответа выглядит так

{ "PersonId": 1,
  "AdressId": 2, 
  "NationalID number": 123456
}

Таким образом, в основном этот API генерирует идентификатор для человека, указанного в запросе. Но мой тестовый пример не работает с ошибкой ReferenceError: строка не определена

Я как бы знаю, что он находится под массивом, поэтому я не могу так сравнивать, поэтому у кого-нибудь есть предложения, как я могу это исправить. пожалуйста посоветуй. Заранее спасибо.


person anita    schedule 05.05.2021    source источник
comment
Используйте jsonData.PhoneNumbers[0] этот тип вопросов, вероятно, лучше было бы задать в сообществе почтальонов. community.postman.com   -  person Danny Dainton    schedule 05.05.2021
comment
@DannyDainton, извините, я спрошу в сообществе почтальонов в следующий раз, но для этого я попробовал, как вы упомянули, например, pm.expect (jsonData.PhoneNumbers [0]). To.eql (string); но я получил сообщение об ошибке TypeError: невозможно прочитать свойство 0 из undefined   -  person anita    schedule 05.05.2021
comment
Только что понял, что вы упомянули, что это тело вашего запроса, как выглядит тело ответа. Это нужно, чтобы знать, против чего утверждать.   -  person Danny Dainton    schedule 06.05.2021
comment
@DannyDainton - это тело моего ответа {PersonId: 1, AdressId: 2,} Это то, что я получаю после прохождения вышеупомянутого запроса.   -  person anita    schedule 06.05.2021
comment
Похоже, это всего лишь часть ответа. Отредактируйте свой вопрос и опубликуйте полный текст ответа, без этого вы не получите решения. Нет смысла делиться частью или частично.   -  person Danny Dainton    schedule 06.05.2021
comment
@DannyDainton обновлен. Это единственные 3 поля, которые я получаю в своем ответе.   -  person anita    schedule 06.05.2021
comment
Тогда эти свойства - единственное, против чего вы можете заявить в ответе. Вы можете снова подтвердить тело запроса, но вам действительно нечего проверять в ответе.   -  person Danny Dainton    schedule 06.05.2021


Ответы (1)


Вы пытаетесь получить доступ к полю из своего запроса в ответе. PhoneNumbers определяется в теле вашего запроса. Вы можете получить доступ только к номерам PersonId, AdressId и NationalID.

Тестировать поля вашего запроса было бы бесполезно, поскольку вы сами их определили. Вы должны проверить, соответствует ли ваш ответ тому, что вы ожидали.

person SHell    schedule 06.05.2021