Как заставить мои тесты почтальона пройти, используя тело ответа в качестве результата?

Я пытаюсь написать тесты в Почтальоне в первый раз. Я использую метод pm.test, содержащий pm.expect.

Вот мой тест.

 //contract details tests
pm.test("Contract data is correct", function() 
    {
        pm.expect(pm.response.json().results.contractNb).to.equal("00002");
        pm.expect(pm.response.json().results.progSrvcNm).to.equal("009");
    }
);

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

{
    "contractNb": "00002",
    "progSrvcNm": "009",
    "contractPartyNm": "testContract",
    "terms": 30,
    "startDt": "2018-01-01"
}

2 ответа

Решение

Учитывая ваши данные тела ответа - если вы просто удалите .results часть expect Скажите, проверка пройдет.

pm.test("Contract data is correct", () => {
    pm.expect(pm.response.json().contractNb).to.equal("00002")
    pm.expect(pm.response.json().progSrvcNm).to.equal("009")
})

Почтальон

Правильный код был, как написал Дэнни Дэйнтон.

pm.test("Contract details are correct for the passed in contract ID.", function() 
    {
        pm.expect(pm.response.json().contractNb).to.equal("00002");
        pm.expect(pm.response.json().progSrvcNm).to.equal("009");
     }
     );
Другие вопросы по тегам