我试图验证我返回的数据是否明智。验证数据类型已完成。现在我想验证我已经收到了执行任务所需的所有数据。
这是一个有代表性的例子:
{
"things": [
{
"id": "00fb60c7-520e-4228-96c7-13a1f7a82749",
"name": "Thing 1",
"url": "https://lolagons.com"
},
{
"id": "709b85a3-98be-4c02-85a5-e3f007ce4bbf",
"name": "Thing 2",
"url": "https://lolfacts.com"
}
],
"layouts": {
"sections": [
{
"id": "34f10988-bb3d-4c38-86ce-ed819cb6daee",
"name": "Section 1",
"content:" [
{
"type": 2,
"id": "00fb60c7-520e-4228-96c7-13a1f7a82749" //Ref to Thing 1
}
]
}
]
}
}
因此,每个部分都引用了0+事物,并且我想验证部分内容中返回的每个id
值在事物中也是id
。
Object.assert(..)的文档意味着我需要一个具体的参考。即使我在Object.keys或Array.items中进行验证,我也无法在另一端解析引用。
这并不重要,但我的上下文是我在IcedFrisby内验证HTTP响应,这是一个Frisby.js分支。
答案 0 :(得分:0)
这并没有按照我的要求(即与Joi)解决。
我通过编写icedfrisby插件(在npm here上发布)为我的上下文解决了这个问题,该插件使用jsonpath来获取Content中的每个id
以及Things中的每个id
。然后插件将断言所有第一组都存在于第二组中。