Как вы можете использовать Frisby.js для тестирования необязательного массива, который содержит объекты? Например, скажем, у нас есть вызов API, который возвращает что-то вроде этого:
{
"id": "123",
"type": "A",
"list": [
{
"id": "111",
"size": 1
},
{
"id": "222",
"size": 2
}
]
}
Однако, он также может возвращать что-то вроде этого:
{
"id": "456",
"type": "B"
}
В настоящее время я пытаюсь:
const frisby = require('frisby');
const Joi = frisby.Joi;
test('myTest', () => {
return frisby
.get(myUrl)
.expect('status', 200)
.expect('jsonTypes', {
id: Joi.string().required(),
type: Joi.string().required().
list: Joi.array().optional()
})
.expect('jsonTypes', 'list.*', {
id: Joi.string().required(),
size: Joi.number().required()
});
});
Однако это не сработает, поскольку путь (list. *) Не будет определен, если атрибут списка не существует. Есть идеи?