gpt4 book ai didi

javascript - chai-as-promised 和 mocha 中嵌套属性的测试值

转载 作者:数据小太阳 更新时间:2023-10-29 05:05:22 25 4
gpt4 key购买 nike

我正在尝试使用 chai-as-promised 库测试返回 promise 的函数。我 promise 的结果是一个具有嵌套属性的对象。是否可以测试深层嵌套属性的值。

例如

function myFunc() {
return new Promise((resolve, reject) => {
const data = {
thing: {
foo: 'bar',
baz: 'lah'
}
}
resolve(data)
})
}

如何在不检查整个对象的情况下测试 foo 属性是否等于“bar”?我试过这样的事情:

expect(myFunc()).to.eventually.have.property('thing.foo', 'bar')

但是没有运气!

最佳答案

使用深度属性查找应该可行。只需在 property 之前添加 deep 关键字即可。

expect(myFunc()).to.eventually.have.deep.property('thing.foo', 'bar')

如果您更喜欢冗长的方式,您还应该能够执行以下操作:

expect(myFunc())
.to.eventually.have.property('thing')
.that.has.property('foo')
.that.is.equal.to('bar');

关于javascript - chai-as-promised 和 mocha 中嵌套属性的测试值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37654098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com