Я хочу проверить отсутствие вложенного свойства "x"
Проверка должна завершиться неудачей, если ответ выглядит следующим образом
A:
{
"first": 1,
"second": {
"one": 1,
"two": 2,
"three": {
"x": 1,
"y": 2
}
}
}
Но для следующих примеров он должен пройти:
B:
{
"first": 1,
"second": {
"one": 1,
"two": 2,
"three": {
"y": 2
}
}
}
C:
{
"first": 1,
"second": {
"one": 1,
"two": 2
}
}
D:
{
"first": 1
}
Конечно,Я могу использовать pm.expect(object).to.not.have.property("x")
для проверки отсутствия.Но это не было бы полезно во всех случаях.
Например, мой тест-код PostMan:
pm.test("(nested)property 'x' not available", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.second.three).to.not.have.property("x")
});
будет отлично работать для случаев A и B, но не для C иD, потому что родители «второй» или «три» свойства могут быть неопределенными.Но я не хочу проверять их отсутствие, потому что это не является целью этого конкретного теста.
Есть ли какая-либо функция BDD Chai, которая предоставляет эту функцию, или я вынужден реализовать рекурсивную вспомогательную функцию дляэто дело?