如何检查摩茶中嵌套属性的类型?



假设响应的主体是这样的:

{
"array": [
{
"porp1": {
"subprop11": "a",
"subprop12": [1,2]
},
"prop2": "c",
},
{
"porp1": {
"subprop11": "h",
"subprop12": [3,2]
},
"prop2": "a",
}
]
}

我知道我可以通过以下方式检查数组的所有元素是否存在prop1.subprop11

res.body['array'].should.all.have.nested.property('prop1.subprop11');

我知道我可以测试非嵌套属性类型,如下所示:

res.body['array'].to.be.a('array');

但是我无法连接嵌套属性的检查,即我不能执行以下操作:

res.body['array'].should.all.have.nested.property('prop1.subprop11').that.is.a("string");

或类似的东西。

如何检查它是字符串?

我可能会迟到,您可以使用 for 循环来测试本身(不是最好的,但有效(

for (const { prop1, prop2, prop3} of data) {
const Id = generateID(index, timeStamp)
expect("someprop").to.have.nested.property('prop1.subprop11').that.is.a("string");
}

相关内容

  • 没有找到相关文章

最新更新